[balsa/wip/gtk4: 190/351] Use g_strcmp0() to avoid NULL string guards



commit e466cf50e464498b93be6a1cb76dd8d8c4111c11
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Mon Feb 26 13:08:07 2018 -0500

    Use g_strcmp0() to avoid NULL string guards

 libbalsa/address-book-ldap.c    |    2 +-
 libbalsa/address-book-rubrica.c |   28 ++++++++++++++--------------
 libbalsa/body.c                 |   13 +++++++------
 libbalsa/html.c                 |    5 ++---
 libbalsa/identity.c             |    2 +-
 libbalsa/libbalsa-conf.c        |    3 +--
 libbalsa/mailbox.c              |    2 +-
 libbalsa/smtp-server.c          |    5 +----
 src/ab-main.c                   |    3 +--
 src/balsa-app.c                 |   16 ++++++++--------
 src/filter-edit-callbacks.c     |    7 +++----
 src/folder-conf.c               |    8 ++++----
 src/pref-manager.c              |    6 +++---
 src/save-restore.c              |    3 +--
 src/sendmsg-window.c            |    8 ++++----
 15 files changed, 52 insertions(+), 59 deletions(-)
---
diff --git a/libbalsa/address-book-ldap.c b/libbalsa/address-book-ldap.c
index 5a001d3..7e13715 100644
--- a/libbalsa/address-book-ldap.c
+++ b/libbalsa/address-book-ldap.c
@@ -730,7 +730,7 @@ libbalsa_address_book_ldap_remove_address(LibBalsaAddressBook *ab,
 /** libbalsa_address_book_ldap_modify_address:
     modify given address. If mail address has changed, remove and add.
 */
-#define STREQ(a,b) ((a) && (b) && strcmp((a),(b))==0)
+#define STREQ(a,b) (g_strcmp0((a),(b))==0)
 static LibBalsaABErr
 libbalsa_address_book_ldap_modify_address(LibBalsaAddressBook *ab,
                                           LibBalsaAddress *address,
diff --git a/libbalsa/address-book-rubrica.c b/libbalsa/address-book-rubrica.c
index ceb5292..69242c8 100644
--- a/libbalsa/address-book-rubrica.c
+++ b/libbalsa/address-book-rubrica.c
@@ -713,16 +713,18 @@ extract_work(xmlNodePtr entry, gchar ** org)
 static void
 extract_net(xmlNodePtr entry, GList ** mail_addrs)
 {
-    while (entry) {
-       gchar *uri_type = NULL;
-       gchar *mail_addr;
-
-       if (!xmlStrcmp(entry->name, CXMLCHARP("Uri"))
-           && (uri_type = xml_node_get_attr(entry, CXMLCHARP("type")))
-           && !strcmp(uri_type, "email")
-           && (mail_addr = xml_node_get_text(entry)))
-           *mail_addrs = g_list_prepend(*mail_addrs, mail_addr);
-       g_free(uri_type);
+    while (entry != NULL) {
+       if (!xmlStrcmp(entry->name, CXMLCHARP("Uri"))) {
+            gchar *uri_type = NULL;
+            gchar *mail_addr;
+
+           uri_type = xml_node_get_attr(entry, CXMLCHARP("type"));
+           if (g_strcmp0(uri_type, "email") == 0
+                && (mail_addr = xml_node_get_text(entry)) != NULL) {
+                *mail_addrs = g_list_prepend(*mail_addrs, mail_addr);
+            }
+            g_free(uri_type);
+        }
 
        entry = entry->next;
     }
@@ -733,11 +735,9 @@ static gchar *
 xml_node_get_text(xmlNodePtr node)
 {
     g_return_val_if_fail(node != NULL, NULL);
-    if ((node = node->children) && node->type == XML_TEXT_NODE
-       && node->content)
+    if ((node = node->children) && node->type == XML_TEXT_NODE)
        return g_strdup((const gchar *) node->content);
-    else
-       return NULL;
+    return NULL;
 }
 
 
diff --git a/libbalsa/body.c b/libbalsa/body.c
index 7277755..83d2f4f 100644
--- a/libbalsa/body.c
+++ b/libbalsa/body.c
@@ -852,17 +852,18 @@ libbalsa_message_body_get_by_id(LibBalsaMessageBody * body,
 {
     LibBalsaMessageBody *res;
     gchar *cid;
+    gboolean matches;
 
     g_return_val_if_fail(id != NULL, NULL);
 
-    if (!body)
+    if (body == NULL)
        return NULL;
 
-    if ((cid = libbalsa_message_body_get_cid(body))) {
-        gboolean matches = !strcmp(id, cid);
-        g_free(cid);
-        if (matches)
-            return body;
+    cid = libbalsa_message_body_get_cid(body);
+    matches = (g_strcmp0(id, cid) == 0);
+    g_free(cid);
+    if (matches) {
+        return body;
     }
 
     if ((res = libbalsa_message_body_get_by_id(body->parts, id)) != NULL)
diff --git a/libbalsa/html.c b/libbalsa/html.c
index 9f9afc7..2260614 100644
--- a/libbalsa/html.c
+++ b/libbalsa/html.c
@@ -232,8 +232,7 @@ lbh_mouse_target_changed_cb(WebKitWebView       * web_view,
 
     uri = webkit_hit_test_result_get_link_uri(hit_test_result);
 
-    if ((!uri && !info->uri)
-        || (uri && info->uri && !strcmp(uri, info->uri)))
+    if (g_strcmp0(uri, info->uri) == 0)
         /* No change */
         return;
 
@@ -890,7 +889,7 @@ libbalsa_html_search(GtkWidget                * widget,
     info = g_object_get_data(G_OBJECT(web_view), LIBBALSA_HTML_INFO);
     controller = webkit_web_view_get_find_controller(web_view);
 
-    if (!info->search_text || strcmp(text, info->search_text)) {
+    if (g_strcmp0(text, info->search_text) != 0) {
         lbh_search_init(info, controller, text, find_forward, wrap,
                         search_cb, cb_data);
     } else {
diff --git a/libbalsa/identity.c b/libbalsa/identity.c
index 55dbcd0..74b7909 100644
--- a/libbalsa/identity.c
+++ b/libbalsa/identity.c
@@ -2276,7 +2276,7 @@ libbalsa_identity_combo_box(GList       * identities,
         g_free(from);
         g_free(name);
 
-        if (active_name != NULL && strcmp(active_name, ident->identity_name) == 0)
+        if (g_strcmp0(active_name, ident->identity_name) == 0)
             gtk_combo_box_set_active_iter(GTK_COMBO_BOX(combo_box), &iter);
     }
     g_object_unref(store);
diff --git a/libbalsa/libbalsa-conf.c b/libbalsa/libbalsa-conf.c
index f1539f4..821443f 100644
--- a/libbalsa/libbalsa-conf.c
+++ b/libbalsa/libbalsa-conf.c
@@ -320,8 +320,7 @@ libbalsa_conf_get_bool_with_default_(const char *path, gboolean * def,
     g_free(key);
     if (error) {
         g_error_free(error);
-        if (defval)
-            retval = strcmp(defval, "true") == 0;
+        retval = g_strcmp0(defval, "true") == 0;
     }
 
     if (def)
diff --git a/libbalsa/mailbox.c b/libbalsa/mailbox.c
index 710c91d..3a8046c 100644
--- a/libbalsa/mailbox.c
+++ b/libbalsa/mailbox.c
@@ -2348,7 +2348,7 @@ libbalsa_mailbox_set_identity_name(LibBalsaMailbox * mailbox,
 {
     LibBalsaMailboxView *view = lbm_get_view(mailbox);
 
-    if (!view->identity_name || strcmp(view->identity_name, identity_name)) {
+    if (g_strcmp0(view->identity_name, identity_name) != 0) {
        g_free(view->identity_name);
        view->identity_name = g_strdup(identity_name);
        if (mailbox)
diff --git a/libbalsa/smtp-server.c b/libbalsa/smtp-server.c
index 6520b15..e5717df 100644
--- a/libbalsa/smtp-server.c
+++ b/libbalsa/smtp-server.c
@@ -191,10 +191,7 @@ smtp_server_compare(gconstpointer a, gconstpointer b)
     const LibBalsaSmtpServer *smtp_server_a = a;
     const LibBalsaSmtpServer *smtp_server_b = b;
 
-    if (smtp_server_a->name && smtp_server_b->name)
-        return strcmp(smtp_server_a->name, smtp_server_b->name);
-
-    return smtp_server_a->name - smtp_server_b->name;
+    return g_strcmp0(smtp_server_a->name, smtp_server_b->name);
 }
 
 void
diff --git a/src/ab-main.c b/src/ab-main.c
index 13bd0d8..068853a 100644
--- a/src/ab-main.c
+++ b/src/ab-main.c
@@ -92,8 +92,7 @@ bab_config_init(const gchar * group, const gchar * value, gpointer data)
         contacts_app.address_book_list =
             g_list_append(contacts_app.address_book_list, address_book);
 
-        if (contacts_app.default_address_book_prefix
-            && strcmp(group,
+        if (g_strcmp0(group,
                       contacts_app.default_address_book_prefix) == 0)
             contacts_app.default_address_book = address_book;
     }
diff --git a/src/balsa-app.c b/src/balsa-app.c
index ff97981..dcf6f44 100644
--- a/src/balsa-app.c
+++ b/src/balsa-app.c
@@ -598,7 +598,7 @@ find_path(GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter,
 
     gtk_tree_model_get(model, iter, 0, &mbnode, -1);
     if (mbnode->server == bf->server &&
-        mbnode->dir && !strcmp(mbnode->dir, bf->data)) {
+        g_strcmp0(mbnode->dir, (const gchar *) bf->data) == 0) {
        bf->mbnode = mbnode;
        return TRUE;
     }
@@ -850,18 +850,18 @@ balsa_quote_regex_new(void)
     static GRegex *regex  = NULL;
     static gchar  *string = NULL;
 
-    if (string && strcmp(string, balsa_app.quote_regex) != 0) {
-        g_free(string);
-        string = NULL;
-        g_regex_unref(regex);
-        regex = NULL;
+    if (g_strcmp0(string, balsa_app.quote_regex) != 0) {
+        /* We have not initialized the GRegex, or balsa_app.quote_regex
+         * has changed. */
+        g_clear_pointer(&string, (GDestroyNotify) g_free);
+        g_clear_pointer(&regex,  (GDestroyNotify) g_regex_unref);
     }
 
-    if (!regex) {
+    if (regex == NULL) {
         GError *err = NULL;
 
         regex = g_regex_new(balsa_app.quote_regex, 0, 0, &err);
-        if (err) {
+        if (err != NULL) {
             g_warning("quote regex compilation failed: %s", err->message);
             g_error_free(err);
             return NULL;
diff --git a/src/filter-edit-callbacks.c b/src/filter-edit-callbacks.c
index d47e5c0..3195b26 100644
--- a/src/filter-edit-callbacks.c
+++ b/src/filter-edit-callbacks.c
@@ -1626,7 +1626,7 @@ fe_remove_pressed(GtkWidget * widget, gpointer throwaway)
 static void
 change_filter_name(gchar * old_name,gchar * new_name)
 {
-    if (!new_name || strcmp(old_name,new_name)!=0) {
+    if (g_strcmp0(old_name, new_name) != 0) {
         GList * lst;
         filters_names_rec * p=NULL;
 
@@ -1654,8 +1654,7 @@ change_filter_name(gchar * old_name,gchar * new_name)
           else we create a new record
        */
        for (lst = filters_names_changes; lst != NULL; lst = lst->next)
-            if (((filters_names_rec *)lst->data)->new_name && 
-                strcmp(((filters_names_rec *)lst->data)->new_name,old_name)==0) {
+            if (g_strcmp0(((filters_names_rec *) lst->data)->new_name, old_name) == 0) {
                 p=(filters_names_rec *)lst->data;
                 g_free(p->new_name);
                 break;
@@ -1669,7 +1668,7 @@ change_filter_name(gchar * old_name,gchar * new_name)
         /* Record exists yet, test if we can collapse it (in case his
          * old_name==new_name) It's only a small optimization
          */
-        else if (new_name && strcmp(p->old_name,new_name)==0) {
+        else if (g_strcmp0(p->old_name, new_name) == 0) {
            g_free(p->old_name);
            g_free(p);
             filters_names_changes=
diff --git a/src/folder-conf.c b/src/folder-conf.c
index 3c4ccda..eefd746 100644
--- a/src/folder-conf.c
+++ b/src/folder-conf.c
@@ -628,10 +628,10 @@ subfolder_conf_clicked_ok(SubfolderDialogData * sdd)
             mailbox_conf_view_check(sdd->mcv, sdd->mbnode->mailbox);
         
         /* rename */
-        if ((sdd->old_parent && strcmp(parent, sdd->old_parent)) ||
-            (sdd->old_folder && strcmp(folder, sdd->old_folder))) {
+        if ((g_strcmp0(parent, sdd->old_parent) != 0) ||
+            (g_strcmp0(folder, sdd->old_folder) != 0)) {
             gint button = GTK_RESPONSE_OK;
-            if (sdd->old_folder && !strcmp(sdd->old_folder, "INBOX") &&
+            if (g_strcmp0(sdd->old_folder, "INBOX") == 0 &&
                 (!sdd->old_parent || !*sdd->old_parent)) {
                 gchar *msg =
                     g_strdup_printf(_
@@ -899,7 +899,7 @@ folder_conf_imap_sub_node(BalsaMailboxNode * mn)
 
                 /* my rights */
                 for (n = 0;
-                     std_acls[n] && strcmp(std_acls[n], rights);
+                     std_acls[n] && strcmp(std_acls[n], rights) != 0;
                      n += 2);
                 rights_str = g_string_new(_("mine: "));
                 if (std_acls[n])
diff --git a/src/pref-manager.c b/src/pref-manager.c
index 71aa2e6..23d713b 100644
--- a/src/pref-manager.c
+++ b/src/pref-manager.c
@@ -3205,17 +3205,17 @@ open_preferences_manager_idle(void)
 
     name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER
                                          (pui->mail_directory));
-    if (!name || strcmp(name, balsa_app.local_mail_directory) != 0) {
+    if (g_strcmp0(name, balsa_app.local_mail_directory) != 0) {
         /* Chooser still hasn't been initialized. */
         g_free(name);
-        return TRUE;
+        return G_SOURCE_CONTINUE;
     }
     g_free(name);
 
     g_signal_connect(pui->mail_directory, "selection-changed",
                      G_CALLBACK(properties_modified_cb), property_box);
 
-    return FALSE;
+    return G_SOURCE_REMOVE;
 }                               /* open_preferences_manager_idle */
 
 /****************
diff --git a/src/save-restore.c b/src/save-restore.c
index cd96ce0..d06b9f8 100644
--- a/src/save-restore.c
+++ b/src/save-restore.c
@@ -1531,8 +1531,7 @@ config_address_book_load(const gchar * key, const gchar * value,
         balsa_app.address_book_list =
             g_list_prepend(balsa_app.address_book_list, address_book);
 
-        if (default_address_book_prefix
-            && strcmp(key, default_address_book_prefix) == 0) {
+        if (g_strcmp0(key, default_address_book_prefix) == 0) {
             balsa_app.default_address_book = address_book;
         }
     }
diff --git a/src/sendmsg-window.c b/src/sendmsg-window.c
index 1dfcbce..c61758d 100644
--- a/src/sendmsg-window.c
+++ b/src/sendmsg-window.c
@@ -224,10 +224,10 @@ sw_preferred_charset(BalsaSendmsg * bsmsg)
 {
     guint i;
 
-    for (i = 0; i < G_N_ELEMENTS(locales); i++)
-        if (bsmsg->spell_check_lang && locales[i].locale
-            && strcmp(bsmsg->spell_check_lang, locales[i].locale) == 0)
+    for (i = 0; i < G_N_ELEMENTS(locales); i++) {
+        if (g_strcmp0(bsmsg->spell_check_lang, locales[i].locale) == 0)
             return locales[i].charset;
+    }
 
     return NULL;
 }
@@ -2737,7 +2737,7 @@ has_file_attached(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter,
     if (!info)
        return FALSE;
     uri = libbalsa_vfs_get_uri(info->file_uri);
-    if (uri && !strcmp(find_file->name, uri))
+    if (g_strcmp0(find_file->name, uri) == 0)
        find_file->found = TRUE;
     g_object_unref(info);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]