#include "encoding.h"
#include "interface.h"
#include "date.h"
+#include "age.h"
#include "xref.h"
#include "compat.h"
/* HEAD.TIME (Only for 'Lifelines' compatibility) */
/* Just ignore the time... */
-head_time_sect : OPEN DELIM TAG_TIME opt_line_item
- { }
- CLOSE
+head_time_sect : OPEN DELIM TAG_TIME opt_line_item CLOSE
+ { gedcom_warning(_("Header change time lost in the compatibility"));
+ }
;
/* HEAD.SUBM */
asso_sect : OPEN DELIM TAG_ASSO mand_pointer
{ struct xref_value *xr = gedcom_parse_xref($4, XREF_USED,
- XREF_INDI);
+ XREF_ANY);
if (xr == NULL) HANDLE_ERROR;
$<ctxt>$ = start_element(ELT_SUB_ASSO,
PARENT, $1, $3, $4,
}
;
event_detail_age_sect : OPEN DELIM TAG_AGE mand_line_item
- { $<ctxt>$
+ { struct age_value age = gedcom_parse_age($4);
+ $<ctxt>$
= start_element(ELT_SUB_EVT_AGE,
PARENT, $1, $3, $4,
- GEDCOM_MAKE_STRING(val1, $4));
+ GEDCOM_MAKE_AGE(val1, age));
START(AGE, $<ctxt>$)
}
no_std_subs
;
fam_even_age_sect : OPEN DELIM TAG_AGE mand_line_item
- { $<ctxt>$ = start_element(ELT_SUB_FAM_EVT_AGE,
+ { struct age_value age = gedcom_parse_age($4);
+ $<ctxt>$ = start_element(ELT_SUB_FAM_EVT_AGE,
PARENT, $1, $3, $4,
- GEDCOM_MAKE_STRING(val1, $4));
+ GEDCOM_MAKE_AGE(val1, age));
START(AGE, $<ctxt>$)
}
no_std_subs