Added debugging code for dumping data from memory using GUI.
[familia.git] / src / gedcom / familia_gedcom.c
index 740d6b2a82c5d353b3637bc80eef8660bebabf2a..dcb80328a5cfc883de9192ce3818e4da4720f234 100644 (file)
@@ -167,6 +167,29 @@ Gedcom_ctxt familia_gedcom_individual_add_family(Gedcom_elt  elt,
 
        return parent;
 }
+
+/**
+ * Adds child to the family
+ */
+Gedcom_ctxt familia_gedcom_family_add_child(Gedcom_elt  elt,
+                                       Gedcom_ctxt parent,
+                                       int         level,
+                                       char*       tag,
+                                       char*       raw_value,
+                                       int         parsed_tag,
+                                       Gedcom_val  parsed_value)
+{
+       void * object = NULL;
+       /* XREF_PTR(FAM) */
+       struct xref_value *xr = GEDCOM_XREF_PTR(parsed_value);
+
+       object = familia_memory_stack_find(xr->string, FS_FAMILY);
+       /* parent: REC_INDI */
+       familia_family_add_child(object, parent);
+
+       return parent;
+}
+
 /*
 void familia_gedcom_individual_family_end(Gedcom_elt  elt,
                                        Gedcom_ctxt parent,
@@ -208,7 +231,10 @@ void familia_gedcom_init()
                                familia_gedcom_individual_last_name_start,
                                NULL);
        gedcom_subscribe_to_element(ELT_SUB_FAMS,
-                               familia_gedcom_individual_add_family,
+                               familia_gedcom_family_add_child,
+                               NULL);
+       gedcom_subscribe_to_element(ELT_SUB_FAMC,
+                               familia_gedcom_family_add_child,
                                NULL);
 
        familia_memory_stack_init();