X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;ds=sidebyside;f=include%2Fgedcom.h.in;h=bf53759727f0026db1aa607e0bbb4493577efe0d;hb=473f146038f88434e3edd070dfa42390bd0df60f;hp=8129975e38fce31ee121a57f45c608be419f97bb;hpb=31fb8432ef01f9d5a08cc801a785a07b4e9d12bd;p=gedcom-parse.git diff --git a/include/gedcom.h.in b/include/gedcom.h.in index 8129975..bf53759 100644 --- a/include/gedcom.h.in +++ b/include/gedcom.h.in @@ -399,6 +399,10 @@ typedef enum _DATE_INPUT { DI_FROM_SDN } Date_input; +typedef enum _COMPAT_OPTIONS { + COMPAT_ALLOW_OUT_OF_CONTEXT = 0x01 +} Gedcom_compat; + /**************************************************************************/ /*** Things meant to be internal, susceptible to changes ***/ /*** Use the GEDCOM_STRING/GEDCOM_DATE interface instead of relying ***/ @@ -435,12 +439,12 @@ extern struct age_value def_age_val; extern struct xref_value def_xref_val; #define GV_CHECK_CAST(VAL, TYPE, MEMBER, DEFVAL) \ - ((VAL->type == TYPE) ? \ - VAL->value.MEMBER : \ - (gedcom_cast_error(__FILE__,__LINE__, TYPE, VAL->type), DEFVAL)) + (((VAL)->type == TYPE) ? \ + (VAL)->value.MEMBER : \ + (gedcom_cast_error(__FILE__,__LINE__, TYPE, (VAL)->type), DEFVAL)) #define GV_IS_TYPE(VAL, TYPE) \ - (VAL->type == TYPE) + ((VAL)->type == TYPE) /**************************************************************************/ /*** Function interface ***/ @@ -518,6 +522,7 @@ int gedcom_new_model(); void gedcom_set_debug_level(int level, FILE* trace_output); void gedcom_set_error_handling(Gedcom_err_mech mechanism); void gedcom_set_compat_handling(int enable_compat); +void gedcom_set_compat_options(Gedcom_compat options); void gedcom_set_message_handler(Gedcom_msg_handler func); void gedcom_set_default_callback(Gedcom_def_cb func);