diff options
author | David Bremner <bremner@debian.org> | 2011-10-09 11:12:30 -0300 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2011-10-16 19:59:53 -0300 |
commit | 09beff1def1daa9887679723205855ff7da8a297 (patch) | |
tree | 615a26e8db9e0d504d2213828054d2cabc69628a | |
parent | ff2cd7a789b81e76d2279ac8a13a06172c6d8279 (diff) |
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
-rw-r--r-- | notmuch-dump.c | 11 | ||||
-rwxr-xr-x | 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 |