else {
struct change_date *chan = SUB_MAKEFUNC(change_date)();
if (chan) {
- switch (ctxt->ctxt_type) {
+ int type = ctxt_type(ctxt);
+ switch (type) {
case REC_FAM:
ADDFUNC2_NOLIST(family,change_date)(ctxt, chan); break;
case REC_INDI:
case REC_SUBM:
ADDFUNC2_NOLIST(submitter,change_date)(ctxt, chan); break;
default:
- UNEXPECTED_CONTEXT(ctxt->ctxt_type);
+ UNEXPECTED_CONTEXT(type);
}
result = MAKE_GOM_CTXT(elt, change_date, chan);
}
}
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)
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) {
{
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;