X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gedcom%2Fcompat.h;h=aaf8c49d2b637279b147316f2e381abbf8797f52;hb=d2dbc2834cae06a5de0dec22c0e7a530b7dd1589;hp=a901197c79aa438c42a79c0270e81179560db89c;hpb=de22c4a7da9703ac654a271fcd0212023192d256;p=gedcom-parse.git diff --git a/gedcom/compat.h b/gedcom/compat.h index a901197..aaf8c49 100644 --- a/gedcom/compat.h +++ b/gedcom/compat.h @@ -26,6 +26,7 @@ #include "buffer.h" #include "gedcom.h" +#include "gedcom_internal.h" typedef enum _COMPAT_RULES { C_NO_SUBMITTER, @@ -40,6 +41,15 @@ typedef enum _COMPAT_RULES { C_NO_SLGC_FAMC, C_SUBM_COMM, C_DOUBLE_DATES_4, + C_CONC_NEEDS_SPACE, + C_NO_GEDC_FORM, + C_NOTE_NOTE, + C_TAB_CHARACTER, + C_SUBM_CTRY, + C_NOTE_TOO_LONG, + C_NOTE_CONC_SOUR, + C_NONSTD_SOUR_TAGS, + C_PAF_DATES, C_NR_OF_RULES } Compat_rule; @@ -48,21 +58,42 @@ void set_compatibility_version(const char* version); void compute_compatibility(); int compat_mode(Compat_rule rule); +/* C_NO_SUBMITTER */ void compat_generate_submitter_link(Gedcom_ctxt parent); void compat_generate_submitter(); +/* C_NO_GEDC, C_NO_GEDC_FORM */ void compat_generate_gedcom(Gedcom_ctxt parent); +void compat_generate_gedcom_form(Gedcom_ctxt parent); +/* C_NO_CHAR */ int compat_generate_char(Gedcom_ctxt parent); +/* C_HEAD_TIME */ +void compat_save_head_date_context(Gedcom_ctxt parent); +Gedcom_ctxt compat_generate_head_time_start(int level, struct tag_struct ts, + char* value); +void compat_generate_head_time_end(Gedcom_ctxt self); + +/* C_SUBM_CTRY */ +void compat_save_ctry_parent_context(Gedcom_ctxt parent); +Gedcom_ctxt compat_generate_addr_ctry_start(int level, struct tag_struct ts, + char* value); +void compat_generate_addr_ctry_end(Gedcom_ctxt self); +void compat_free_ctry_parent_context(); + +/* C_INDI_ATTR */ Gedcom_ctxt compat_generate_resi_start(Gedcom_ctxt parent); void compat_generate_resi_end(Gedcom_ctxt parent, Gedcom_ctxt self); +/* C_551_TAGS */ int compat_check_551_tag(const char* tag, struct safe_buffer* b); +/* C_NO_SLGC_FAMC */ void compat_generate_slgc_famc_link(Gedcom_ctxt parent); void compat_generate_slgc_famc_fam(); +/* C_SUBM_COMM */ int compat_check_subm_comm(const char* tag, const char* parent_tag, struct safe_buffer* b); void compat_close_subm_comm(); @@ -70,4 +101,24 @@ 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_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 */