]> git.notmuchmail.org Git - notmuch/blobdiff - lib/thread.cc
lib: Eliminate some redundant includes of xapian.h
[notmuch] / lib / thread.cc
index dc74ee3e95d30e2921d267147f51820539043d95..7f15586286d9441e1199c6f63c1867944b4b645b 100644 (file)
@@ -21,8 +21,6 @@
 #include "notmuch-private.h"
 #include "database-private.h"
 
-#include <xapian.h>
-
 #include <gmime/gmime.h>
 #include <glib.h> /* GHashTable */
 
@@ -140,14 +138,14 @@ _complete_thread_authors (notmuch_thread_t *thread)
     thread->authors_array = NULL;
 }
 
-/* clean up the uggly "Lastname, Firstname" format that some mail systems
+/* clean up the ugly "Lastname, Firstname" format that some mail systems
  * (most notably, Exchange) are creating to be "Firstname Lastname"
  * To make sure that we don't change other potential situations where a
  * comma is in the name, we check that we match one of these patterns
  * "Last, First" <first.last@company.com>
  * "Last, First MI" <first.mi.last@company.com>
  */
-char *
+static char *
 _thread_cleanup_author (notmuch_thread_t *thread,
                        const char *author, const char *from)
 {
@@ -156,11 +154,19 @@ _thread_cleanup_author (notmuch_thread_t *thread,
     char *blank;
     int fname,lname;
 
+    if (author == NULL)
+       return NULL;
     clean_author = talloc_strdup(thread, author);
     if (clean_author == NULL)
        return NULL;
+    /* check if there's a comma in the name and that there's a
+     * component of the name behind it (so the name doesn't end with
+     * the comma - in which case the string that strchr finds is just
+     * one character long ",\0").
+     * Otherwise just return the copy of the original author name that
+     * we just made*/
     comma = strchr(author,',');
-    if (comma) {
+    if (comma && strlen(comma) > 1) {
        /* let's assemble what we think is the correct name */
        lname = comma - author;
        fname = strlen(author) - lname - 2;
@@ -180,7 +186,6 @@ _thread_cleanup_author (notmuch_thread_t *thread,
            /* we didn't identify this as part of the email address
            * so let's punt and return the original author */
            strcpy (clean_author, author);
-
     }
     return clean_author;
 }