X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fcompat.c;h=c566d8e9ab8c77742fcd153705ba377c9ac423dd;hb=5fe34c1f751845fb0912834069c8e357a4cc0d6d;hp=6ac021f2077b01858614284e55f3b29ac246e580;hpb=6f97662e0531189fb1298c27fd85348df1b86db3;p=gedcom-parse.git diff --git a/gedcom/compat.c b/gedcom/compat.c index 6ac021f..c566d8e 100644 --- a/gedcom/compat.c +++ b/gedcom/compat.c @@ -31,7 +31,7 @@ int compat_enabled = 1; int compatibility = 0; int compat_at = 0; -char* default_charset; +const char* default_charset = ""; #define SUBMITTER_LINK "@__COMPAT__SUBM__@" #define DEFAULT_SUBMITTER_NAME "Submitter" @@ -61,13 +61,17 @@ void gedcom_set_compat_handling(int enable_compat) compat_enabled = enable_compat; } -void set_compatibility(char* program) +void set_compatibility(const char* program) { + /* Reinitialize compatibility */ + compat_at = 0; + default_charset = ""; + compatibility = 0; + if (compat_enabled) { if (! strncmp(program, "ftree", 6)) { gedcom_warning(_("Enabling compatibility with 'ftree'")); compatibility = C_FTREE; - default_charset = "ANSI"; } else if (! strncmp(program, "LIFELINES", 9)) { /* Matches "LIFELINES 3.0.2" */ @@ -76,9 +80,6 @@ void set_compatibility(char* program) default_charset = "ANSI"; compat_at = 1; } - else { - compatibility = 0; - } } } @@ -171,8 +172,8 @@ int compat_generate_char(Gedcom_ctxt parent) /* first generate "1 CHAR " */ ts.string = "CHAR"; ts.value = TAG_CHAR; - self1 = start_element(ELT_HEAD_CHAR, parent, 1, ts, default_charset, - GEDCOM_MAKE_STRING(val1, default_charset)); + self1 = start_element(ELT_HEAD_CHAR, parent, 1, ts, (char*)default_charset, + GEDCOM_MAKE_STRING(val1, (char*)default_charset)); /* close "1 CHAR" */ end_element(ELT_HEAD_CHAR, parent, self1, NULL);