X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gom%2Fevent.c;h=b585a688abca91f686c7e5ac5d840e85ff0ff8fa;hb=4c2f5e310ee8e58010d068cf004ec4533418e1d3;hp=b946aa64a2f069f44ca817fc9e6c36578c62b59d;hpb=327069289a45ed1e91d8bfc07d7d89cfbad057d6;p=gedcom-parse.git diff --git a/gom/event.c b/gom/event.c index b946aa6..b585a68 100644 --- a/gom/event.c +++ b/gom/event.c @@ -65,13 +65,14 @@ Gedcom_ctxt sub_evt_start(_ELT_PARAMS_) } if (! err) { - switch (ctxt->ctxt_type) { + int type = ctxt_type(ctxt); + switch (type) { case REC_FAM: ADDFUNC2(family,event)(ctxt, evt); break; case REC_INDI: ADDFUNC2(individual,event)(ctxt, evt); break; default: - UNEXPECTED_CONTEXT(ctxt->ctxt_type); + UNEXPECTED_CONTEXT(type); } result = MAKE_GOM_CTXT(elt, event, evt); } @@ -111,11 +112,12 @@ Gedcom_ctxt sub_attr_start(_ELT_PARAMS_) } if (! err) { - switch (ctxt->ctxt_type) { + int type = ctxt_type(ctxt); + switch (type) { case REC_INDI: ADDFUNC2_TOVAR(individual,event,attribute)(ctxt, evt); break; default: - UNEXPECTED_CONTEXT(ctxt->ctxt_type); + UNEXPECTED_CONTEXT(type); } result = MAKE_GOM_CTXT(elt, event, evt); } @@ -126,6 +128,10 @@ Gedcom_ctxt sub_attr_start(_ELT_PARAMS_) } DEFINE_SUB_MAKEFUNC(event) +DEFINE_SUB_ADDFUNC(event) +DEFINE_SUB_FINDFUNC(event) +DEFINE_SUB_REMOVEFUNC(event) +DEFINE_SUB_MOVEFUNC(event) DEFINE_STRING_CB(event, sub_evt_type_start, type) DEFINE_DATE_CB(event, sub_evt_date_start, date) @@ -156,7 +162,8 @@ Gedcom_ctxt sub_fam_evt_age_start(_ELT_PARAMS_) if (evt) { int err = 0; struct age_value age = GEDCOM_AGE(parsed_value); - switch (ctxt->ctxt_type) { + int type = ctxt_type(ctxt); + switch (type) { case ELT_SUB_FAM_EVT_HUSB: evt->husband_age = gedcom_new_age_value(&age); if (! evt->husband_age) { @@ -172,7 +179,7 @@ Gedcom_ctxt sub_fam_evt_age_start(_ELT_PARAMS_) } break; default: - UNEXPECTED_CONTEXT(ctxt->ctxt_type); + UNEXPECTED_CONTEXT(type); } if (! err) result = MAKE_GOM_CTXT(elt, event, evt);