dlugolecki.net.pl
Dziennik
Polecane
Software
projects
/
gedcom-parse.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Unlink xrefs properly when struct is deleted.
[gedcom-parse.git]
/
gom
/
user_rec.c
diff --git
a/gom/user_rec.c
b/gom/user_rec.c
index 90ffb0b995549443ce630451fcf7679290dd4f60..a685f3def47c8f4bdaa7d2da41d918429e16dac8 100644
(file)
--- a/
gom/user_rec.c
+++ b/
gom/user_rec.c
@@
-247,6
+247,15
@@
void user_rec_subscribe()
gedcom_subscribe_to_element(ELT_USER, user_elt_start, def_elt_end);
}
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 CLEANFUNC(user_data)(struct user_data* data)
{
if (data) {
@@
-255,6
+264,14
@@
void CLEANFUNC(user_data)(struct user_data* 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) {
void CLEANFUNC(user_rec)(struct user_rec* rec)
{
if (rec) {