Translated all new strings.
[gedcom-parse.git] / gom / gom_internal.h
index b3075501a2541d1c8cc79fbab53904a19a735623..3b482f22578e628dc21940b41d56b0091e0d1914 100644 (file)
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <libintl.h>
+#include <time.h>
 #ifdef HAVE_CONFIG_H
 #include <config.h>
 #endif
@@ -75,6 +76,10 @@ void gom_cast_error(const char* file, int line,
 void gom_no_context(const char* file, int line);
 void gom_unexpected_context(const char* file, int line, OBJ_TYPE found);
 
+int gom_write_xref_list(Gedcom_write_hndl hndl,
+                       Gedcom_elt elt, int tag, int parent_rec_or_elt,
+                       struct xref_list* val);
+
 #define MAKE_GOM_CTXT(CTXT_TYPE, STRUCTTYPE, CTXT_PTR)                        \
   make_gom_ctxt(CTXT_TYPE, T_ ## STRUCTTYPE, CTXT_PTR)
 
@@ -105,8 +110,8 @@ void def_elt_end(Gedcom_elt elt, Gedcom_ctxt parent,
                 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);
+int  update_date(struct date_value** dv, struct tm* tm_ptr);
+int  update_time(char** tv, struct tm* tm_ptr);
 
 /* Doubly-linked list, but last rec->next is NULL (doesn't go to first rec) */
 #define LINK_CHAIN_ELT(STRUCTTYPE, FIRSTVAL, VAL)                             \
@@ -263,7 +268,7 @@ void NULL_DESTROY(void* anything);
         = 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                                                                  \
@@ -284,7 +289,7 @@ void NULL_DESTROY(void* anything);
         = 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                                                                  \