X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;f=gom%2Fsource_citation.c;h=c79efcce1ce97c94cb92647fcb11047ae3ce87aa;hb=763e8737b5118c5f23dca84a3290c2d805bbefe6;hp=8e186cc15d5030c6a36deeae1aa7e39d4f0a3caf;hpb=7ae7ece158a1d930a77806f591b1d16b2cde581f;p=gedcom-parse.git diff --git a/gom/source_citation.c b/gom/source_citation.c index 8e186cc..c79efcc 100644 --- a/gom/source_citation.c +++ b/gom/source_citation.c @@ -47,13 +47,8 @@ Gedcom_ctxt sub_citation_start(_ELT_PARAMS_) if (! ctxt) NO_CONTEXT; else { - struct source_citation *cit - = (struct source_citation *)malloc(sizeof(struct source_citation)); - - if (! cit) - MEMORY_ERROR; - else { - memset (cit, 0, sizeof(struct source_citation)); + struct source_citation *cit = SUB_MAKEFUNC(source_citation)(); + if (cit) { if (GEDCOM_IS_XREF_PTR(parsed_value)) cit->reference = GEDCOM_XREF_PTR(parsed_value); @@ -137,6 +132,8 @@ Gedcom_ctxt sub_cit_text_start(_ELT_PARAMS_) return (Gedcom_ctxt)result; } +DEFINE_SUB_MAKEFUNC(source_citation) + DEFINE_STRING_CB(source_citation, sub_cit_page_start, page) DEFINE_STRING_CB(source_citation, sub_cit_even_start, event) DEFINE_STRING_CB(source_citation, sub_cit_even_role_start, role)