]> git.notmuchmail.org Git - notmuch/blobdiff - lib/thread.cc
lib: replace deprecated n_q_search_messages with status returning version
[notmuch] / lib / thread.cc
index 45425056034fca555d8c679d670800872813ba13..561ca5bec783cd9a014563412acac76f5205dac0 100644 (file)
@@ -13,7 +13,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see http://www.gnu.org/licenses/ .
+ * along with this program.  If not, see https://www.gnu.org/licenses/ .
  *
  * Author: Carl Worth <cworth@cworth.org>
  */
@@ -251,8 +251,8 @@ _thread_add_message (notmuch_thread_t *thread,
                 term != NULL;
                 term = term->next)
            {
-               /* We ignore initial 'K'. */
-               if (strcmp(tag, (term->string + 1)) == 0) {
+               /* Check for an empty string, and then ignore initial 'K'. */
+               if (*(term->string) && strcmp(tag, (term->string + 1)) == 0) {
                    message_excluded = TRUE;
                    break;
                }
@@ -353,10 +353,8 @@ _thread_add_matched_message (notmuch_thread_t *thread,
 {
     time_t date;
     notmuch_message_t *hashed_message;
-    const char *cur_subject;
 
     date = notmuch_message_get_date (message);
-    cur_subject = notmuch_thread_get_subject(thread);
 
     if (date < thread->oldest || ! thread->matched_messages) {
        thread->oldest = date;
@@ -366,6 +364,7 @@ _thread_add_matched_message (notmuch_thread_t *thread,
 
     if (date > thread->newest || ! thread->matched_messages) {
        thread->newest = date;
+       const char *cur_subject = notmuch_thread_get_subject(thread);
        if (sort != NOTMUCH_SORT_OLDEST_FIRST || EMPTY_STRING(cur_subject))
            _thread_set_subject_from_message (thread, message);
     }
@@ -448,6 +447,7 @@ _notmuch_thread_create (void *ctx,
 
     notmuch_messages_t *messages;
     notmuch_message_t *message;
+    notmuch_status_t status;
 
     seed_message = _notmuch_message_create (local, notmuch, seed_doc_id, NULL);
     if (! seed_message)
@@ -505,7 +505,11 @@ _notmuch_thread_create (void *ctx,
      * oldest or newest subject is desired. */
     notmuch_query_set_sort (thread_id_query, NOTMUCH_SORT_OLDEST_FIRST);
 
-    for (messages = notmuch_query_search_messages (thread_id_query);
+    status = notmuch_query_search_messages (thread_id_query, &messages);
+    if (status)
+       goto DONE;
+
+    for (;
         notmuch_messages_valid (messages);
         notmuch_messages_move_to_next (messages))
     {