gedcom_subscribe_to_element(ELT_USER, user_elt_start, def_elt_end);
}
+void UNREFALLFUNC(user_data)(struct user_data *obj)
+{
+ if (obj) {
+ struct user_data* runner;
+ for (runner = obj; runner; runner = runner->next)
+ unref_xref_value(runner->xref_value);
+ }
+}
+
void CLEANFUNC(user_data)(struct user_data* data)
{
if (data) {
}
}
+void UNREFALLFUNC(user_rec)(struct user_rec *obj)
+{
+ if (obj) {
+ unref_xref_value(obj->xref_value);
+ UNREFALLFUNC(user_data)(obj->extra);
+ }
+}
+
void CLEANFUNC(user_rec)(struct user_rec* rec)
{
if (rec) {
if (!data) return 1;
- for (obj = data; data; data = data->next) {
+ for (obj = data; obj; obj = obj->next) {
if (obj->xref_value)
result |= gedcom_write_user_xref(hndl, obj->level, obj->tag, NULL,
obj->xref_value);
- else
+ else {
result |= gedcom_write_user_str(hndl, obj->level, obj->tag, NULL,
obj->str_value);
+ }
}
return result;
}