]> git.cworth.org Git - obsolete/notmuch-old/commitdiff
lib: Simplify code to set subject from matched message.
authorCarl Worth <cworth@cworth.org>
Sat, 24 Apr 2010 13:45:51 +0000 (06:45 -0700)
committerCarl Worth <cworth@cworth.org>
Sat, 24 Apr 2010 13:50:04 +0000 (06:50 -0700)
Simply moving the code from _add_matched_message to a new
_set_subject_from_message function.

lib/thread.cc

index 5bf83540d6cf72a9abda4879a06f369f5399b78f..1cc22acd98cbb709b4426a4b95a63c9a5b5046c5 100644 (file)
@@ -128,21 +128,9 @@ _thread_add_message (notmuch_thread_t *thread,
 }
 
 static void
-_thread_add_matched_message (notmuch_thread_t *thread,
-                            notmuch_message_t *message,
-                            notmuch_sort_t sort)
+_thread_set_subject_from_message (notmuch_thread_t *thread,
+                                 notmuch_message_t *message)
 {
-    time_t date;
-    notmuch_message_t *hashed_message;
-
-    date = notmuch_message_get_date (message);
-
-    if (date < thread->oldest || ! thread->matched_messages)
-       thread->oldest = date;
-
-    if (date > thread->newest || ! thread->matched_messages)
-       thread->newest = date;
-
     const char *subject;
     const char *cleaned_subject;
 
@@ -160,10 +148,27 @@ _thread_add_matched_message (notmuch_thread_t *thread,
        cleaned_subject = talloc_strdup (thread, subject);
     }
 
-    if ((sort == NOTMUCH_SORT_OLDEST_FIRST && date <= thread->newest) ||
-       (sort != NOTMUCH_SORT_OLDEST_FIRST && date == thread->newest)) {
-       thread->subject = talloc_strdup (thread, cleaned_subject);
-    }
+    if (thread->subject)
+       talloc_free (thread->subject);
+
+    thread->subject = talloc_strdup (thread, cleaned_subject);
+}
+
+static void
+_thread_add_matched_message (notmuch_thread_t *thread,
+                            notmuch_message_t *message,
+                            notmuch_sort_t sort)
+{
+    time_t date;
+    notmuch_message_t *hashed_message;
+
+    date = notmuch_message_get_date (message);
+
+    if (date < thread->oldest || ! thread->matched_messages)
+       thread->oldest = date;
+
+    if (date > thread->newest || ! thread->matched_messages)
+       thread->newest = date;
 
     thread->matched_messages++;
 
@@ -173,6 +178,12 @@ _thread_add_matched_message (notmuch_thread_t *thread,
        notmuch_message_set_flag (hashed_message,
                                  NOTMUCH_MESSAGE_FLAG_MATCH, 1);
     }
+
+    if ((sort == NOTMUCH_SORT_OLDEST_FIRST && date <= thread->newest) ||
+       (sort != NOTMUCH_SORT_OLDEST_FIRST && date == thread->newest))
+    {
+       _thread_set_subject_from_message (thread, message);
+    }
 }
 
 static void