Improved context handling, to allow elements out of context.
[gedcom-parse.git] / gom / personal_name.c
index bff72bd87a9cf562c6e0599a656c1f2107813a75..02de333272d2f58cbcb171eb7c726ec554093c67 100644 (file)
@@ -47,11 +47,12 @@ Gedcom_ctxt sub_name_start(_ELT_PARAMS_)
        free(name);
       }
       else {
-       switch (ctxt->ctxt_type) {
+       int type = ctxt_type(ctxt);
+       switch (type) {
          case REC_INDI:
            ADDFUNC2(individual,personal_name)(ctxt, name); break;
          default:
-           UNEXPECTED_CONTEXT(ctxt->ctxt_type);
+           UNEXPECTED_CONTEXT(type);
        }
        result = MAKE_GOM_CTXT(elt, personal_name, name);
       }
@@ -62,6 +63,10 @@ Gedcom_ctxt sub_name_start(_ELT_PARAMS_)
 }
 
 DEFINE_SUB_MAKEFUNC(personal_name)
+DEFINE_SUB_ADDFUNC(personal_name)
+DEFINE_SUB_FINDFUNC(personal_name)
+DEFINE_SUB_REMOVEFUNC(personal_name)
+DEFINE_SUB_MOVEFUNC(personal_name)
      
 DEFINE_STRING_CB(personal_name, sub_name_npfx_start, prefix)
 DEFINE_STRING_CB(personal_name, sub_name_givn_start, given)