From 09beff1def1daa9887679723205855ff7da8a297 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sun, 9 Oct 2011 11:12:30 -0300 Subject: [PATCH] notmuch-dump: treat any remaining arguments after the filename as search terms The main motivation here is allow the fast dumping of tag data for messages having certain tags. In practice it seems too slow to pipe dump to grep. All dump-restore tests should be working now, so we update test/dump-restore accordingly --- notmuch-dump.c | 11 ++++++++++- test/dump-restore | 3 --- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/notmuch-dump.c b/notmuch-dump.c index 610144e0..ac5d0742 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) @@ -56,7 +57,15 @@ 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; diff --git a/test/dump-restore b/test/dump-restore index 3f9a5319..e7edd9b2 100755 --- a/test/dump-restore +++ b/test/dump-restore @@ -22,17 +22,14 @@ test_expect_equal_file dump.expected dump-1-arg-dash.actual grep cworth\.org dump.expected > dump-cworth.expected test_begin_subtest "dump -- from:cworth" -test_subtest_known_broken notmuch dump -- from:cworth > dump-dash-cworth.actual test_expect_equal_file dump-cworth.expected dump-dash-cworth.actual test_begin_subtest "dump outfile from:cworth" -test_subtest_known_broken notmuch dump dump-outfile-cworth.actual from:cworth test_expect_equal_file dump-cworth.expected dump-outfile-cworth.actual test_begin_subtest "dump outfile -- from:cworth" -test_subtest_known_broken notmuch dump dump-outfile-dash-inbox.actual -- from:cworth test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual