X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fcompat.h;h=2dea0e378379829b335c93d3c1d9cc37ef6eb312;hb=refs%2Fheads%2Flibiconv-gedcom-1.14;hp=813f7949fd623f2bc9e5ab437ff8a4f1197e2474;hpb=ea81accae13a4617cc46f5256dad50e2732cc206;p=gedcom-parse.git diff --git a/gedcom/compat.h b/gedcom/compat.h index 813f794..2dea0e3 100644 --- a/gedcom/compat.h +++ b/gedcom/compat.h @@ -47,13 +47,18 @@ typedef enum _COMPAT_RULES { C_TAB_CHARACTER, C_SUBM_CTRY, C_NOTE_TOO_LONG, + C_NOTE_CONC_SOUR, + C_NONSTD_SOUR_TAGS, C_NR_OF_RULES } Compat_rule; +extern struct safe_buffer compat_buffer; + 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_close(); /* C_NO_SUBMITTER */ void compat_generate_submitter_link(Gedcom_ctxt parent); @@ -98,9 +103,30 @@ int compat_check_subm_comm_cont(const char* tag); Gedcom_ctxt compat_subm_comm_cont_start(Gedcom_ctxt parent, char* str); void compat_subm_comm_cont_end(Gedcom_ctxt parent, Gedcom_ctxt self); +/* C_DOUBLE_DATES_4 */ +void compat_date_start(); +int compat_date_check(struct date_value* dv, const char** curr_line); + +int compat_double_date_check(char* year2); + /* C_NOTE_TOO_LONG */ int compat_long_line(int level, int tag); char* compat_long_line_get_prefix(char* str); void compat_long_line_finish(Gedcom_ctxt parent, int level); +/* C_NOTE_CONC_SOUR */ +Gedcom_ctxt compat_generate_note_sour_start(Gedcom_ctxt parent, + int level, struct tag_struct ts, + char* pointer); +void compat_generate_note_sour_end(Gedcom_ctxt self); + +/* C_NONSTD_SOUR_TAGS */ +int compat_check_sour_tag(const char* tag, struct safe_buffer* b); +Gedcom_ctxt compat_generate_nonstd_sour_start(Gedcom_ctxt parent, int level, + struct tag_struct ts, + char* value, + struct safe_buffer* b); +void compat_generate_nonstd_sour_end(Gedcom_ctxt parent, Gedcom_ctxt self); +int compat_generate_nonstd_sour_state(); + #endif /* __COMPAT_H */