X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gom%2Fpersonal_name.c;h=3b6bb8ea4c657e38b2e557aa5c5dd6e7507c7a7b;hb=f85c3005b5ae59af8089a88297aeb2bd5c317433;hp=fce4ca7d346850c8c9a180e041ebca5a49e0bad9;hpb=72689522e287ca3b2231e7d8881f0fe5bea48f15;p=gedcom-parse.git diff --git a/gom/personal_name.c b/gom/personal_name.c index fce4ca7..3b6bb8e 100644 --- a/gom/personal_name.c +++ b/gom/personal_name.c @@ -38,12 +38,8 @@ Gedcom_ctxt sub_name_start(_ELT_PARAMS_) Gom_ctxt result = NULL; if (ctxt) { - struct personal_name *name - = (struct personal_name *)malloc(sizeof(struct personal_name)); - if (! name) - MEMORY_ERROR; - else { - memset (name, 0, sizeof(struct personal_name)); + struct personal_name *name = SUB_MAKEFUNC(personal_name)(); + if (name) { name->name = strdup(GEDCOM_STRING(parsed_value)); if (! name->name) { @@ -65,6 +61,8 @@ Gedcom_ctxt sub_name_start(_ELT_PARAMS_) return (Gedcom_ctxt)result; } +DEFINE_SUB_MAKEFUNC(personal_name) + DEFINE_STRING_CB(personal_name, sub_name_npfx_start, prefix) DEFINE_STRING_CB(personal_name, sub_name_givn_start, given) DEFINE_STRING_CB(personal_name, sub_name_nick_start, nickname)