X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fcompat.h;h=7a1b0977520fa36e84bc16dedc98337e0bc4d269;hb=156c27bb04852eb8189994325d5f69691c1b869a;hp=03971d1fd2ded377456aa10ee2ed553692e2b34f;hpb=a6ae7b8ee65f561b8ba9b189cf3e9504831621da;p=gedcom-parse.git diff --git a/gedcom/compat.h b/gedcom/compat.h index 03971d1..7a1b097 100644 --- a/gedcom/compat.h +++ b/gedcom/compat.h @@ -24,6 +24,7 @@ #ifndef __COMPAT_H #define __COMPAT_H +#include "buffer.h" #include "gedcom.h" typedef enum _COMPAT_RULES { @@ -34,16 +35,39 @@ typedef enum _COMPAT_RULES { C_NO_CHAR, C_HEAD_TIME, C_NO_DOUBLE_AT, - C_NO_REQUIRED_VALUES + C_NO_REQUIRED_VALUES, + C_551_TAGS, + C_NO_SLGC_FAMC, + C_SUBM_COMM, + C_DOUBLE_DATES_4, + C_NR_OF_RULES } Compat_rule; -void set_compatibility(const char* program); -int compat_mode(Compat_rule rule); +void set_compatibility_program(const char* program); +void set_compatibility_version(const char* version); +void compute_compatibility(); +int compat_mode(Compat_rule rule); + void compat_generate_submitter_link(Gedcom_ctxt parent); void compat_generate_submitter(); + void compat_generate_gedcom(Gedcom_ctxt parent); + int compat_generate_char(Gedcom_ctxt parent); + Gedcom_ctxt compat_generate_resi_start(Gedcom_ctxt parent); void compat_generate_resi_end(Gedcom_ctxt parent, Gedcom_ctxt self); +int compat_check_551_tag(const char* tag, struct safe_buffer* b); + +void compat_generate_slgc_famc_link(Gedcom_ctxt parent); +void compat_generate_slgc_famc_fam(); + +int compat_check_subm_comm(const char* tag, const char* parent_tag, + struct safe_buffer* b); +void compat_close_subm_comm(); +int compat_check_subm_comm_cont(const char* tag); +Gedcom_ctxt compat_subm_comm_cont_start(Gedcom_ctxt parent, const char* str); +void compat_subm_comm_cont_end(Gedcom_ctxt parent, Gedcom_ctxt self); + #endif /* __COMPAT_H */