X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fcompat.c;h=d4fdb9f480216801f155de5264a8513cefa75dfc;hb=f7b7f4752136dc40686676194a2895d82fe6018e;hp=f7638e6970200be8ea656cf7c94d3d525ff09391;hpb=5962cdcec2493fc473f86aa6077d4b420c406112;p=gedcom-parse.git diff --git a/gedcom/compat.c b/gedcom/compat.c index f7638e6..d4fdb9f 100644 --- a/gedcom/compat.c +++ b/gedcom/compat.c @@ -31,14 +31,14 @@ int compat_enabled = 1; int compatibility = 0; int compat_at = 0; -char* default_charset; +char* default_charset = ""; #define SUBMITTER_LINK "@__COMPAT__SUBM__@" #define DEFAULT_SUBMITTER_NAME "Submitter" #define DEFAULT_GEDCOM_VERS "5.5" #define DEFAULT_GEDCOM_FORM "LINEAGE-LINKED" -/* Incompatibily list (with GEDCOM 5.5): +/* Incompatibility list (with GEDCOM 5.5): - ftree: - no submitter record, no submitter link in the header @@ -49,8 +49,9 @@ char* default_charset; - no submitter record, no submitter link in the header - no GEDC field in the header - no CHAR field in the header - - TIME field outside of DATE field in the header (will be ignored here) + - HEAD.TIME instead of HEAD.DATE.TIME (will be ignored here) - '@' not written as '@@' in values + - lots of missing required values */ /* Compatibility handling */ @@ -62,11 +63,15 @@ void gedcom_set_compat_handling(int enable_compat) void set_compatibility(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" */ @@ -75,9 +80,6 @@ void set_compatibility(char* program) default_charset = "ANSI"; compat_at = 1; } - else { - compatibility = 0; - } } }