X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fwrite.c;h=6e186b7b8c612d444d9895cfa7622df67288a36a;hb=6103dd898c4de86c68891cc0222543988a2caab7;hp=f880bbbe90ef0279d4ab3b1cbfcccab7c608b38b;hpb=6de2cd5b195e6d1493dea896aafb1b7033835517;p=gedcom-parse.git diff --git a/gedcom/write.c b/gedcom/write.c index f880bbb..6e186b7 100644 --- a/gedcom/write.c +++ b/gedcom/write.c @@ -104,7 +104,8 @@ int write_simple(Gedcom_write_hndl hndl, } int write_encoding_value(Gedcom_write_hndl hndl, - int level, char* xref, char* tag, char* value) + int level, const char* xref, const char* tag, + const char* value) { if (strcmp(value, write_encoding.charset)) gedcom_warning(_("Forcing HEAD.CHAR value to '%s'"), @@ -153,8 +154,13 @@ int write_long(Gedcom_write_hndl hndl, int elt_or_rec, if (prefix_len + line_len + term_len > MAXWRITELEN) { line_len = MAXWRITELEN - prefix_len - term_len; - if (!cont_as_conc) + if (!cont_as_conc) { cont_tag = "CONC"; + while (value_ptr[line_len] == ' ' + || value_ptr[line_len-1] == ' ') { + line_len--; + } + } } memset(value_part, 0, sizeof(value_part)); @@ -164,7 +170,7 @@ int write_long(Gedcom_write_hndl hndl, int elt_or_rec, if (line_len < value_len) { value_ptr = value_ptr + line_len; value_len = value_len - line_len; - while (*value_ptr == '\n') { + if (*value_ptr == '\n') { value_ptr++; value_len--; } @@ -321,7 +327,7 @@ char* convert_at(const char* input) int _gedcom_write_val(Gedcom_write_hndl hndl, int rec_or_elt, int tag, int parent_rec_or_elt, - char* xrefstr, char* val) + const char* xrefstr, const char* val) { int result = 1; int level = 0; @@ -342,7 +348,8 @@ int _gedcom_write_val(Gedcom_write_hndl hndl, } int gedcom_write_record_str(Gedcom_write_hndl hndl, - Gedcom_rec rec, char* xrefstr, char* val) + Gedcom_rec rec, const char* xrefstr, + const char* val) { int result = 1; if (check_type(rec, (val ? GV_CHAR_PTR : GV_NULL))) @@ -352,7 +359,7 @@ int gedcom_write_record_str(Gedcom_write_hndl hndl, int gedcom_write_element_str(Gedcom_write_hndl hndl, Gedcom_elt elt, int tag, int parent_rec_or_elt, - char* val) + const char* val) { int result = 1; if (check_type(elt, (val ? GV_CHAR_PTR : GV_NULL))) @@ -363,7 +370,7 @@ int gedcom_write_element_str(Gedcom_write_hndl hndl, int gedcom_write_element_xref(Gedcom_write_hndl hndl, Gedcom_elt elt, int tag, int parent_rec_or_elt, - struct xref_value* val) + const struct xref_value* val) { int result = 1; if (check_type(elt, (val ? GV_XREF_PTR : GV_NULL))) @@ -374,7 +381,7 @@ int gedcom_write_element_xref(Gedcom_write_hndl hndl, int gedcom_write_element_date(Gedcom_write_hndl hndl, Gedcom_elt elt, int tag, int parent_rec_or_elt, - struct date_value* val) + const struct date_value* val) { int result = 1; if (check_type(elt, (val ? GV_DATE_VALUE : GV_NULL))) @@ -385,7 +392,7 @@ int gedcom_write_element_date(Gedcom_write_hndl hndl, int gedcom_write_element_age(Gedcom_write_hndl hndl, Gedcom_elt elt, int tag, int parent_rec_or_elt, - struct age_value* val) + const struct age_value* val) { int result = 1; if (check_type(elt, (val ? GV_AGE_VALUE : GV_NULL))) @@ -394,8 +401,8 @@ int gedcom_write_element_age(Gedcom_write_hndl hndl, return result; } -int gedcom_write_user_str(Gedcom_write_hndl hndl, int level, char* tag, - char* xrefstr, char* value) +int gedcom_write_user_str(Gedcom_write_hndl hndl, int level, const char* tag, + const char* xrefstr, const char* value) { int result = 1; if (tag && tag[0] == '_') @@ -403,8 +410,8 @@ int gedcom_write_user_str(Gedcom_write_hndl hndl, int level, char* tag, return result; } -int gedcom_write_user_xref(Gedcom_write_hndl hndl, int level, char* tag, - char* xrefstr, struct xref_value* val) +int gedcom_write_user_xref(Gedcom_write_hndl hndl, int level, const char* tag, + const char* xrefstr, const struct xref_value* val) { int result = 1; if (tag && tag[0] == '_')