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 ***/
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 ***/
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);