[balsa] Allow address == NULL in LibBalsaAddress methods
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] Allow address == NULL in LibBalsaAddress methods
- Date: Sat, 22 Jun 2019 00:42:59 +0000 (UTC)
commit 527772eb550b600ea0bce80771aa97fe6b5b5f03
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Fri Jun 21 20:37:32 2019 -0400
Allow address == NULL in LibBalsaAddress methods
Allow address == NULL in libbalsa_address_set_edit_entries() and
libbalsa_address_get_edit_widget()
because the address book editor uses that.
ChangeLog | 11 +++++++++++
libbalsa/address.c | 42 ++++++++++++++++++++++--------------------
2 files changed, 33 insertions(+), 20 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index c9cd34fa0..369584395 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2019-06-21 Peter Bloomfield <pbloomfield bellsouth net>
+
+ Allow address == NULL in libbalsa_address_set_edit_entries() and
+ libbalsa_address_get_edit_widget()
+
+ because the address book editor uses that.
+
+ * libbalsa/address.c (libbalsa_address_set_edit_entries),
+ (libbalsa_address_get_edit_widget),
+ (libbalsa_address_new_from_edit_entries):
+
2019-06-18 Albrecht Dreß <albrecht dress arcor de>
Fix crash using incomplete VCard items
diff --git a/libbalsa/address.c b/libbalsa/address.c
index a445ca88d..bb9ed0ffe 100644
--- a/libbalsa/address.c
+++ b/libbalsa/address.c
@@ -720,24 +720,22 @@ libbalsa_address_set_edit_entries(LibBalsaAddress * address,
GtkListStore *store;
GtkTreeIter iter;
- g_return_if_fail(LIBBALSA_IS_ADDRESS(address));
+ g_return_if_fail(address == NULL || LIBBALSA_IS_ADDRESS(address));
- new_email = g_strdup(address
- && address->addr_list
- && address->addr_list->data ?
+ new_email = g_strdup(address != NULL
+ && address->addr_list != NULL
+ && address->addr_list->data != NULL ?
address->addr_list->data : "");
/* initialize the organization... */
- if (!address || address->organization == NULL)
- new_organization = g_strdup("");
- else
- new_organization = g_strdup(address->organization);
+ new_organization = g_strdup(address != NULL
+ && address->organization != NULL ?
+ address->organization : "");
/* if the message only contains an e-mail address */
- if (!address || address->full_name == NULL)
+ if (address == NULL || address->full_name == NULL) {
new_name = g_strdup(new_email);
- else {
+ } else {
gchar **names;
- g_assert(address);
/* make sure address->personal is not all whitespace */
new_name = g_strstrip(g_strdup(address->full_name));
@@ -753,7 +751,7 @@ libbalsa_address_set_edit_entries(LibBalsaAddress * address,
? address->first_name : names[0]);
/* get last name */
- if(address->last_name)
+ if(address->last_name != NULL)
last_name = g_strdup(address->last_name);
else {
if (cnt == 1)
@@ -769,7 +767,7 @@ libbalsa_address_set_edit_entries(LibBalsaAddress * address,
first_name = g_strdup("");
if (last_name == NULL)
last_name = g_strdup("");
- if (!address || address->nick_name == NULL)
+ if (address == NULL || address->nick_name == NULL)
nick_name = g_strdup("");
else
nick_name = g_strdup(address->nick_name);
@@ -784,10 +782,10 @@ libbalsa_address_set_edit_entries(LibBalsaAddress * address,
store = GTK_LIST_STORE(gtk_tree_view_get_model
(GTK_TREE_VIEW(entries[EMAIL_ADDRESS])));
gtk_list_store_clear(store);
- if (address) {
+ if (address != NULL) {
GList *list;
- for (list = address->addr_list; list; list = list->next) {
+ for (list = address->addr_list; list != NULL; list = list->next) {
gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter, 0, list->data, -1);
}
@@ -978,7 +976,7 @@ libbalsa_address_get_edit_widget(LibBalsaAddress *address,
GtkWidget *grid, *label, *lhs;
gint cnt;
- g_return_val_if_fail(LIBBALSA_IS_ADDRESS(address), NULL);
+ g_return_val_if_fail(address == NULL || LIBBALSA_IS_ADDRESS(address), NULL);
grid = gtk_grid_new();
#define HIG_PADDING 6
@@ -1062,7 +1060,7 @@ libbalsa_address_new_from_edit_entries(GtkWidget ** entries)
gboolean valid;
GtkTreeIter iter;
- /* make sure gtk_tree_model looses focus, otherwise the list does
+ /* make sure gtk_tree_model loses focus, otherwise the list does
* not get updated (gtk2-2.8.20) */
gtk_widget_grab_focus(entries[FULL_NAME]);
/* FIXME: This problem should be solved in the VCard
@@ -1072,7 +1070,7 @@ libbalsa_address_new_from_edit_entries(GtkWidget ** entries)
address = libbalsa_address_new();
SET_FIELD(address->full_name, entries[FULL_NAME]);
- if (!address->full_name) {
+ if (address->full_name == NULL) {
g_object_unref(address);
return NULL;
}
@@ -1087,8 +1085,12 @@ libbalsa_address_new_from_edit_entries(GtkWidget ** entries)
gchar *email;
gtk_tree_model_get(model, &iter, 0, &email, -1);
- if (email && *email)
- list = g_list_prepend(list, email);
+ if (email != NULL) {
+ if (email[0] != '\0')
+ list = g_list_prepend(email);
+ else
+ g_free(email);
+ }
}
address->addr_list = g_list_reverse(list);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]