X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fwrite.c;h=5bc9efa10fd33e841b25b6cae66e0b25a2440569;hb=2c7d1ebedfd0a42621b77c6e45f0fc7b2201bdd4;hp=f8721da6cc91bab6fd841a150a586a9a79407831;hpb=1568cb8ab16ecc1984d0d00b8ae8189c32508b08;p=gedcom-parse.git diff --git a/gedcom/write.c b/gedcom/write.c index f8721da..5bc9efa 100644 --- a/gedcom/write.c +++ b/gedcom/write.c @@ -26,7 +26,7 @@ #include "encoding.h" #include "tag_data.h" #include "buffer.h" -#include "utf8.h" +#include "utf8tools.h" #include #include #include @@ -127,13 +127,14 @@ int supports_continuation(int elt_or_rec, int which_continuation) int write_long(Gedcom_write_hndl hndl, int elt_or_rec, int level, char* xref, char* tag, char* value) { - int prefix_len, value_len, term_len; - char* nl_pos = strchr(value, '\n'); + int prefix_len, value_len = 0, term_len; + char* nl_pos = NULL; + if (value) nl_pos = strchr(value, '\n'); prefix_len = utf8_strlen(tag) + 3; /* for e.g. "0 INDI " */ if (level > 9) prefix_len++; if (xref) prefix_len += utf8_strlen(xref) + 1; - value_len = utf8_strlen(value); + if (value) value_len = utf8_strlen(value); term_len = strlen(hndl->term); if (!nl_pos && prefix_len + value_len + term_len <= MAXWRITELEN) @@ -379,12 +380,11 @@ int _gedcom_write_val(Gedcom_write_hndl hndl, } int gedcom_write_record_str(Gedcom_write_hndl hndl, - Gedcom_rec rec, int tag, - char* xrefstr, char* val) + Gedcom_rec rec, char* xrefstr, char* val) { int result = 1; if (check_type(rec, (val ? GV_CHAR_PTR : GV_NULL))) - result = _gedcom_write_val(hndl, rec, tag, -1, xrefstr, convert_at(val)); + result = _gedcom_write_val(hndl, rec, 0, -1, xrefstr, convert_at(val)); return result; } @@ -399,16 +399,6 @@ int gedcom_write_element_str(Gedcom_write_hndl hndl, return result; } -int gedcom_write_record_xref(Gedcom_write_hndl hndl, - Gedcom_rec rec, int tag, - char* xrefstr, struct xref_value* val) -{ - int result = 1; - if (check_type(rec, (val ? GV_XREF_PTR : GV_NULL))) - result = _gedcom_write_val(hndl, rec, tag, -1, xrefstr, val->string); - return result; -} - int gedcom_write_element_xref(Gedcom_write_hndl hndl, Gedcom_elt elt, int tag, int parent_rec_or_elt, struct xref_value* val)