aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/backend/ebook/e-card-simple.c
diff options
context:
space:
mode:
authorLarry Ewing <lewing@ximian.com>2003-06-14 14:05:37 +0800
committerLarry Ewing <lewing@src.gnome.org>2003-06-14 14:05:37 +0800
commita699b39082bddbf402f5156ddce9c072cb5ce7e6 (patch)
treef20d366eff5b91aba406ade29023d702f0363578 /addressbook/backend/ebook/e-card-simple.c
parent1761fff007b20c765181f7e89c1cb4fd84c699e3 (diff)
downloadgsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.tar
gsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.tar.gz
gsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.tar.bz2
gsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.tar.lz
gsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.tar.xz
gsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.tar.zst
gsoc2013-evolution-a699b39082bddbf402f5156ddce9c072cb5ce7e6.zip
Fix lots of leaks, update for correct use of g_object_get. Some cleanups.
2003-06-14 Larry Ewing <lewing@ximian.com> * gui/backend/ebook/e-card-simple.c: * gui/backend/ebook/e-card.c: * gui/backend/ebook/evolution-ldif-importer.c: * gui/backend/ebook/load-pine-addressbook.c: * gui/backend/ebook/test-card.c: * gui/backend/pas/pas-backend-card-sexp.c: * gui/backend/pas/pas-backend-ldap.c: Fix lots of leaks, update for correct use of g_object_get. Some cleanups. svn path=/trunk/; revision=21443
Diffstat (limited to 'addressbook/backend/ebook/e-card-simple.c')
-rw-r--r--addressbook/backend/ebook/e-card-simple.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/addressbook/backend/ebook/e-card-simple.c b/addressbook/backend/ebook/e-card-simple.c
index db008011cd..b9e32762fe 100644
--- a/addressbook/backend/ebook/e-card-simple.c
+++ b/addressbook/backend/ebook/e-card-simple.c
@@ -556,6 +556,11 @@ fill_in_info(ECardSimple *simple)
}
}
g_object_unref(iterator);
+
+ g_object_unref(phone_list);
+ g_object_unref(email_list);
+ g_object_unref(address_list);
+ g_object_unref(delivery_list);
e_card_free_empty_lists (card);
}
}
@@ -719,6 +724,11 @@ e_card_simple_sync_card(ECardSimple *simple)
}
}
fill_in_info(simple);
+
+ g_object_unref(phone_list);
+ g_object_unref(email_list);
+ g_object_unref(address_list);
+ g_object_unref(delivery_list);
e_card_free_empty_lists (card);
}
@@ -803,7 +813,7 @@ char *e_card_simple_get (ECardSimple *simple,
ECardSimpleInternalType type = field_data[field].type;
const ECardAddrLabel *addr;
const ECardPhone *phone;
- const char *string;
+ char *string;
ECardDate *date;
ECardName *name;
switch(type) {
@@ -812,7 +822,7 @@ char *e_card_simple_get (ECardSimple *simple,
g_object_get(simple->card,
field_data[field].ecard_field, &string,
NULL);
- return g_strdup(string);
+ return string;
} else
return NULL;
case E_CARD_SIMPLE_INTERNAL_TYPE_DATE:
@@ -877,17 +887,26 @@ char *e_card_simple_get (ECardSimple *simple,
"file_as", &string,
NULL);
if (string && *string)
- return g_strdup(string);
+ return string
+; else
+ g_free (string);
+
g_object_get(simple->card,
"full_name", &string,
NULL);
if (string && *string)
return g_strdup(string);
+ else
+ g_free (string);
+
g_object_get(simple->card,
"org", &string,
NULL);
if (string && *string)
return g_strdup(string);
+ else
+ g_free (string);
+
is_list = e_card_evolution_list (simple->card);
if (is_list)
string = _("Unnamed List");
@@ -1199,6 +1218,8 @@ void e_card_simple_arbitrary_foreach (ECardSimple
if (callback)
(*callback) (arbitrary, closure);
}
+
+ g_object_unref (list);
e_card_free_empty_lists (simple->card);
}
}
@@ -1217,6 +1238,8 @@ const ECardArbitrary *e_card_simple_get_arbitrary (ECardSimple *sim
if (!strcasecmp(arbitrary->key, key))
return arbitrary;
}
+
+ g_object_unref (list);
e_card_free_empty_lists (simple->card);
}
return NULL;
@@ -1254,6 +1277,7 @@ void e_card_simple_set_arbitrary (ECardSimple *sim
new_arb->type = g_strdup(type);
new_arb->value = g_strdup(value);
e_list_append(list, new_arb);
+ g_object_unref(list);
e_card_arbitrary_unref(new_arb);
}
}