/**** Header ****/
/*********************************************************************/
head_sect : OPEN DELIM TAG_HEAD
- { $<ctxt>$ = start_record(REC_HEAD, $1, GEDCOM_MAKE_NULL(), $3);
+ { $<ctxt>$ = start_record(REC_HEAD, $1, GEDCOM_MAKE_NULL(), $3,
+ NULL, GEDCOM_MAKE_NULL());
START(HEAD, $<ctxt>$) }
head_subs
{ if (compat_mode(C_FTREE))
/*********************************************************************/
fam_rec : OPEN DELIM POINTER DELIM TAG_FAM
{ $<ctxt>$ = start_record(REC_FAM,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(FAM, $<ctxt>$) }
fam_subs
{ CHECK0 }
/*********************************************************************/
indiv_rec : OPEN DELIM POINTER DELIM TAG_INDI
{ $<ctxt>$ = start_record(REC_INDI,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(INDI, $<ctxt>$) }
indi_subs
{ CHECK0 }
/*********************************************************************/
multim_rec : OPEN DELIM POINTER DELIM TAG_OBJE
{ $<ctxt>$ = start_record(REC_OBJE,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(OBJE, $<ctxt>$) }
obje_subs
{ CHECK2(FORM, BLOB) }
/*********************************************************************/
note_rec : OPEN DELIM POINTER DELIM TAG_NOTE note_line_item
{ $<ctxt>$ = start_record(REC_NOTE,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ $6, GEDCOM_MAKE_STRING($6));
START(NOTE, $<ctxt>$) }
note_subs
{ CHECK0 }
CLOSE
- { end_record(REC_NOTE, $<ctxt>6); }
+ { end_record(REC_NOTE, $<ctxt>7); }
;
note_line_item : /* empty */
/*********************************************************************/
repos_rec : OPEN DELIM POINTER DELIM TAG_REPO
{ $<ctxt>$ = start_record(REC_REPO,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(REPO, $<ctxt>$) }
repo_subs
{ CHECK0 }
/*********************************************************************/
source_rec : OPEN DELIM POINTER DELIM TAG_SOUR
{ $<ctxt>$ = start_record(REC_SOUR,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(SOUR, $<ctxt>$) }
sour_subs
{ CHECK0 }
/*********************************************************************/
submis_rec : OPEN DELIM POINTER DELIM TAG_SUBN
{ $<ctxt>$ = start_record(REC_SUBN,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(SUBN, $<ctxt>$) }
subn_subs
{ CHECK0 }
/*********************************************************************/
submit_rec : OPEN DELIM POINTER DELIM TAG_SUBM
{ $<ctxt>$ = start_record(REC_SUBM,
- $1, GEDCOM_MAKE_STRING($3), $5);
+ $1, GEDCOM_MAKE_STRING($3), $5,
+ NULL, GEDCOM_MAKE_NULL());
START(SUBM, $<ctxt>$) }
subm_subs
{ CHECK1(NAME) }
| error error_subs CLOSE { HANDLE_ERROR }
;
-user_rec : OPEN DELIM opt_xref USERTAG
+user_rec : OPEN DELIM opt_xref USERTAG
{ if ($4.string[0] != '_') {
gedcom_error(_("Undefined tag (and not a valid user tag): %s"),
$4);
}
opt_value
{ $<ctxt>$ = start_record(REC_USER,
- $1, GEDCOM_MAKE_NULL_OR_STRING($3), $4);
+ $1, GEDCOM_MAKE_NULL_OR_STRING($3), $4,
+ $6, GEDCOM_MAKE_NULL_OR_STRING($6));
START($4, $<ctxt>$)
}
user_sects
CLOSE
{ end_record(REC_USER, $<ctxt>7); }
;
-user_sect : OPEN DELIM opt_xref USERTAG
+user_sect : OPEN DELIM opt_xref USERTAG
{ if ($4.string[0] != '_') {
gedcom_error(_("Undefined tag (and not a valid user tag): %s"),
$4);
;
opt_line_item : /* empty */ { }
- | DELIM line_item { }
+ | DELIM line_item { gedcom_debug_print("==Val: %s==", $2);
+ $$ = $2; }
;
line_item : anychar { size_t i;