X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fgedcom.y;h=f853e7d3b85c4160662bb898047c3e7ecf97bce4;hb=659013d3a740e6735ade47b082ed6574361c1000;hp=2b52293d16d84b0c3b2f2a6b8409e51a794ad523;hpb=f9bc091fb22cfd09794c6bd9ef64094a438c76be;p=gedcom-parse.git diff --git a/gedcom/gedcom.y b/gedcom/gedcom.y index 2b52293..f853e7d 100644 --- a/gedcom/gedcom.y +++ b/gedcom/gedcom.y @@ -1234,6 +1234,8 @@ indi_addr_sect : OPEN DELIM TAG_ADDR opt_line_item = start_element(ELT_SUB_ADDR, par, $1 + 1, $3, $4, GEDCOM_MAKE_NULL_OR_STRING(val2, $4)); + reset_buffer(&concat_buffer); + safe_buf_append(&concat_buffer, $4); START(ADDR, $1 + 1, $$); } else { START(ADDR, $1, NULL) } @@ -1243,8 +1245,9 @@ indi_addr_sect : OPEN DELIM TAG_ADDR opt_line_item CLOSE { if (compat_mode(C_INDI_ADDR)) { Gedcom_ctxt par = PARENT; + char* complete = get_buf_string(&concat_buffer); end_element(ELT_SUB_ADDR, par, $5, - GEDCOM_MAKE_NULL(val1)); + GEDCOM_MAKE_STRING(val1, complete)); CHECK0; compat_generate_resi_end(PARENT, par); } @@ -2282,7 +2285,14 @@ cont_sect : OPEN DELIM TAG_CONT mand_line_item { $$ = start_element(ELT_SUB_CONT, PARENT, $1, $3, $4, GEDCOM_MAKE_STRING(val1, $4)); - SAFE_BUF_ADDCHAR(&concat_buffer, '\n'); + if (compat_mode(C_NOTE_NO_VALUE)) { + char* str = get_buf_string(&concat_buffer); + if (str[0] != '\0') + SAFE_BUF_ADDCHAR(&concat_buffer, '\n'); + } + else { + SAFE_BUF_ADDCHAR(&concat_buffer, '\n'); + } safe_buf_append(&concat_buffer, $4); START(CONT, $1, $$) }