X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=sidebyside;f=notmuch.c;h=cc53d1d61644699a003cdcac71281eff1cc0cb60;hb=3dce2007887717ec4ec0a1e815591c957acd1ba1;hp=fbd773d710fdc74e9549af70532f0537c311e8d1;hpb=3bd4a2eaaa81380fdf8c6130cf636dacefb926fe;p=notmuch diff --git a/notmuch.c b/notmuch.c index fbd773d7..cc53d1d6 100644 --- a/notmuch.c +++ b/notmuch.c @@ -608,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; @@ -638,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)); - - first = 0; - } + thread = notmuch_thread_results_get (results); - printf (")\n"); + printf ("%s\n", notmuch_thread_get_thread_id (thread)); - notmuch_message_destroy (message); + notmuch_thread_destroy (thread); } notmuch_query_destroy (query); @@ -684,10 +668,10 @@ show_command (unused (int argc), unused (char *argv[])) static int dump_command (int argc, char *argv[]) { - FILE *output; + FILE *output = NULL; 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; @@ -719,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)); @@ -751,7 +735,7 @@ dump_command (int argc, char *argv[]) DONE: if (notmuch) notmuch_database_close (notmuch); - if (output != stdout) + if (output && output != stdout) fclose (output); return ret; @@ -760,7 +744,7 @@ dump_command (int argc, char *argv[]) static int restore_command (int argc, char *argv[]) { - FILE *input; + FILE *input = NULL; notmuch_database_t *notmuch = NULL; char *line = NULL; size_t line_size; @@ -861,6 +845,8 @@ restore_command (int argc, char *argv[]) free (line); if (notmuch) notmuch_database_close (notmuch); + if (input && input != stdin) + fclose (input); return ret; } @@ -938,11 +924,11 @@ main (int argc, char *argv[]) strcmp (argv[1], "--help") == 0) { fprintf (stderr, "The notmuch mail system.\n\n"); + usage (); + return 0; } else { fprintf (stderr, "Error: Unknown command '%s'\n\n", argv[1]); + usage (); + return 1; } - usage (); - exit (1); - - return 0; }