struct age_value age = GEDCOM_AGE(parsed_value);
switch (ctxt->ctxt_type) {
case ELT_SUB_FAM_EVT_HUSB:
- evt->husband_age = dup_age(age);
+ evt->husband_age = gedcom_new_age_value(&age);
if (! evt->husband_age) {
MEMORY_ERROR;
err = 1;
}
break;
case ELT_SUB_FAM_EVT_WIFE:
- evt->wife_age = dup_age(age);
+ evt->wife_age = gedcom_new_age_value(&age);
if (! evt->wife_age) {
MEMORY_ERROR;
err = 1;
else
xr->type = XREF_ANY;
}
-
-struct date_value* dup_date(struct date_value dv)
-{
- struct date_value* dv_ptr;
- dv_ptr = (struct date_value*) malloc(sizeof(struct date_value));
- if (! dv_ptr)
- MEMORY_ERROR;
- else {
- memcpy(dv_ptr, &dv, sizeof(struct date_value));
- }
- return dv_ptr;
-}
-
-struct age_value* dup_age(struct age_value age)
-{
- struct age_value* age_ptr;
- age_ptr = (struct age_value*) malloc(sizeof(struct age_value));
- if (! age_ptr)
- MEMORY_ERROR;
- else {
- memcpy(age_ptr, &age, sizeof(struct age_value));
- }
- return age_ptr;
-}
Gedcom_ctxt self, Gedcom_val parsed_value);
void set_xref_type(struct xref_value *xr, const char* str);
-struct date_value* dup_date(struct date_value dv);
-struct age_value* dup_age(struct age_value age);
-
/* Doubly-linked list, but last rec->next is NULL (doesn't go to first rec) */
#define LINK_CHAIN_ELT(STRUCTTYPE, FIRSTVAL, VAL) \
{ \
= SAFE_CTXT_CAST(STRUCTTYPE, (Gom_ctxt)parent); \
if (obj) { \
struct date_value dv = GEDCOM_DATE(parsed_value); \
- obj->FIELD = dup_date(dv); \
+ obj->FIELD = gedcom_new_date_value(&dv); \
if (! obj->FIELD) \
MEMORY_ERROR; \
else \
= SAFE_CTXT_CAST(STRUCTTYPE, (Gom_ctxt)parent); \
if (obj) { \
struct age_value age = GEDCOM_AGE(parsed_value); \
- obj->FIELD = dup_age(age); \
+ obj->FIELD = gedcom_new_age_value(&age); \
if (! obj->FIELD) \
MEMORY_ERROR; \
else \