From 1c2a1b397488bd61ee1cd69ff6ebf8a98b5898b8 Mon Sep 17 00:00:00 2001 From: Chris Toshok Date: Wed, 22 Aug 2001 20:58:29 +0000 Subject: make sure we don't get into a situation where priv->email == NULL. 2001-08-22 Chris Toshok * backend/ebook/e-destination.c (e_destination_get_email): make sure we don't get into a situation where priv->email == NULL. svn path=/trunk/; revision=12393 --- addressbook/ChangeLog | 5 +++++ addressbook/backend/ebook/e-destination.c | 32 +++++++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) (limited to 'addressbook') diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index e987ab876f..76a4ca8b11 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,8 @@ +2001-08-22 Chris Toshok + + * backend/ebook/e-destination.c (e_destination_get_email): make + sure we don't get into a situation where priv->email == NULL. + 2001-08-21 Chris Toshok * gui/widgets/e-minicard.c (e_minicard_event): if we're dragging, diff --git a/addressbook/backend/ebook/e-destination.c b/addressbook/backend/ebook/e-destination.c index 44032d9cf6..25e1caa6ec 100644 --- a/addressbook/backend/ebook/e-destination.c +++ b/addressbook/backend/ebook/e-destination.c @@ -598,20 +598,25 @@ e_destination_get_email (const EDestination *dest) if (priv->card != NULL) { /* Pull the address out of the card. */ - EIterator *iter = e_list_get_iterator (priv->card->email); - gint n = priv->card_email_num; - - if (n >= 0) { - while (n > 0) { - e_iterator_next (iter); - --n; - } - - if (e_iterator_is_valid (iter)) { - gconstpointer ptr = e_iterator_get (iter); - priv->email = g_strdup ((gchar *) ptr); + if (priv->card->email) { + EIterator *iter = e_list_get_iterator (priv->card->email); + gint n = priv->card_email_num; + + if (n >= 0) { + while (n > 0) { + e_iterator_next (iter); + --n; + } + + if (e_iterator_is_valid (iter)) { + gconstpointer ptr = e_iterator_get (iter); + priv->email = g_strdup ((gchar *) ptr); + } } } + else { + priv->email = g_strdup (""); + } } else if (priv->raw != NULL) { @@ -625,6 +630,9 @@ e_destination_get_email (const EDestination *dest) camel_object_unref (CAMEL_OBJECT (addr)); } + else { + priv->email = g_strdup (""); + } } return priv->email; -- cgit v1.2.3