]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch.c
Add an initial implementation of a notmuch_thread_t object.
[notmuch] / notmuch.c
index ef93ded9b3a848297e1d72c960801eb528a48500..5ab155e51f930aad9ed789fd714c6a560b823aa2 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -267,10 +267,16 @@ add_files_recursive (notmuch_database_t *notmuch,
                        break;
                    /* Fatal issues. Don't process anymore. */
                    case NOTMUCH_STATUS_XAPIAN_EXCEPTION:
-                       fprintf (stderr, "A Xapian error was encountered. Halting processing.\n");
+                   case NOTMUCH_STATUS_OUT_OF_MEMORY:
+                       fprintf (stderr, "Error: %s. Halting processing.\n",
+                                notmuch_status_to_string (status));
                        ret = status;
                        goto DONE;
                    default:
+                   case NOTMUCH_STATUS_FILE_ERROR:
+                   case NOTMUCH_STATUS_NULL_POINTER:
+                   case NOTMUCH_STATUS_TAG_TOO_LONG:
+                   case NOTMUCH_STATUS_LAST_STATUS:
                        INTERNAL_ERROR ("add_message returned unexpected value: %d",  status);
                        goto DONE;
                }
@@ -602,9 +608,8 @@ search_command (int argc, char *argv[])
     void *local = talloc_new (NULL);
     notmuch_database_t *notmuch = NULL;
     notmuch_query_t *query;
-    notmuch_results_t *results;
-    notmuch_message_t *message;
-    notmuch_tags_t *tags;
+    notmuch_thread_results_t *results;
+    notmuch_thread_t *thread;
     char *query_str;
     int i;
     notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS;
@@ -632,30 +637,15 @@ search_command (int argc, char *argv[])
        goto DONE;
     }
 
-    for (results = notmuch_query_search (query);
-        notmuch_results_has_more (results);
-        notmuch_results_advance (results))
+    for (results = notmuch_query_search_threads (query);
+        notmuch_thread_results_has_more (results);
+        notmuch_thread_results_advance (results))
     {
-       int first = 1;
-       message = notmuch_results_get (results);
-
-       printf ("%s (", notmuch_message_get_message_id (message));
-
-       for (tags = notmuch_message_get_tags (message);
-            notmuch_tags_has_more (tags);
-            notmuch_tags_advance (tags))
-       {
-           if (! first)
-               printf (" ");
-
-           printf ("%s", notmuch_tags_get (tags));
+       thread = notmuch_thread_results_get (results);
 
-           first = 0;
-       }
+       printf ("%s\n", notmuch_thread_get_thread_id (thread));
 
-       printf (")\n");
-
-       notmuch_message_destroy (message);
+       notmuch_thread_destroy (thread);
     }
 
     notmuch_query_destroy (query);
@@ -681,7 +671,7 @@ dump_command (int argc, char *argv[])
     FILE *output;
     notmuch_database_t *notmuch = NULL;
     notmuch_query_t *query;
-    notmuch_results_t *results;
+    notmuch_message_results_t *results;
     notmuch_message_t *message;
     notmuch_tags_t *tags;
     int ret = 0;
@@ -713,12 +703,12 @@ dump_command (int argc, char *argv[])
 
     notmuch_query_set_sort (query, NOTMUCH_SORT_MESSAGE_ID);
 
-    for (results = notmuch_query_search (query);
-        notmuch_results_has_more (results);
-        notmuch_results_advance (results))
+    for (results = notmuch_query_search_messages (query);
+        notmuch_message_results_has_more (results);
+        notmuch_message_results_advance (results))
     {
        int first = 1;
-       message = notmuch_results_get (results);
+       message = notmuch_message_results_get (results);
 
        fprintf (output,
                 "%s (", notmuch_message_get_message_id (message));