X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=notmuch-dump.c;h=a490917f9fa59d5a9a042d0c85030bc7aad42c8e;hb=2a349d739b31dcef188d4ccd0aa3054e3316d6c2;hp=610144e07e9bb078f311da2be7a3bbf97682d4d8;hpb=ff2cd7a789b81e76d2279ac8a13a06172c6d8279;p=notmuch diff --git a/notmuch-dump.c b/notmuch-dump.c index 610144e0..a490917f 100644 --- a/notmuch-dump.c +++ b/notmuch-dump.c @@ -30,6 +30,7 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[]) notmuch_messages_t *messages; notmuch_message_t *message; notmuch_tags_t *tags; + const char* query_str = ""; config = notmuch_config_open (ctx, NULL, NULL); if (config == NULL) @@ -40,7 +41,10 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[]) if (notmuch == NULL) return 1; + argc--; argv++; /* skip subcommand argument */ + if (argc && strcmp (argv[0], "--") != 0) { + fprintf (stderr, "Warning: the output file argument of dump is deprecated.\n"); output = fopen (argv[0], "w"); if (output == NULL) { fprintf (stderr, "Error opening %s for writing: %s\n", @@ -56,12 +60,23 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[]) argv++; } - query = notmuch_query_create (notmuch, ""); + if (argc) { + query_str = query_string_from_args (notmuch, argc, argv); + if (query_str == NULL) { + fprintf (stderr, "Out of memory.\n"); + return 1; + } + } + + query = notmuch_query_create (notmuch, query_str); if (query == NULL) { fprintf (stderr, "Out of memory\n"); return 1; } - notmuch_query_set_sort (query, NOTMUCH_SORT_MESSAGE_ID); + /* Don't ask xapian to sort by Message-ID. Xapian optimizes returning the + * first results quickly at the expense of total time. + */ + notmuch_query_set_sort (query, NOTMUCH_SORT_UNSORTED); for (messages = notmuch_query_search_messages (query); notmuch_messages_valid (messages);