Also write empty CONT lines.
[gedcom-parse.git] / gom / change_date.c
index bf51134aa8be06e12b4986ae183394a575340ccb..417dbf0523400e13e2f535832f7ee7150be3d0eb 100644 (file)
@@ -74,7 +74,7 @@ Gedcom_ctxt sub_chan_start(_ELT_PARAMS_)
 }
 
 DEFINE_SUB_MAKEFUNC(change_date)
-DEFINE_SUB_ADDFUNC(change_date)
+DEFINE_SUB_SETFUNC(change_date)
 DEFINE_SUB_DELETEFUNC(change_date)
 
 DEFINE_DATE_CB(change_date, sub_chan_date_start, date)
@@ -92,6 +92,14 @@ void change_date_subscribe()
                              def_elt_end);
 }
 
+void UNREFALLFUNC(change_date)(struct change_date* obj)
+{
+  if (obj) {
+    UNREFALLFUNC(note_sub)(obj->note);
+    UNREFALLFUNC(user_data)(obj->extra);
+  }
+}
+
 void CLEANFUNC(change_date)(struct change_date *chan)
 {
   if (chan) {
@@ -137,7 +145,7 @@ int gom_update_timestamp(struct change_date** chan, time_t t)
 {
   int result = 1;
   if (chan) {
-    if (! *chan) gom_add_change_date(chan);
+    if (! *chan) gom_set_new_change_date(chan);
     if (*chan) {
       struct tm *tm_ptr = localtime(&t);
       result = 0;