[PATCH 3/6] notmuch-dump: update handling of file name argument
david at tethera.net
david at tethera.net
Mon Oct 10 06:49:18 PDT 2011
From: David Bremner <bremner at debian.org>
We permit -- as an "option processing terminator".
Currently this does not do anything useful, but we plan to add
search terms after the --.
---
notmuch-dump.c | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/notmuch-dump.c b/notmuch-dump.c
index 7e7bc17..610144e 100644
--- a/notmuch-dump.c
+++ b/notmuch-dump.c
@@ -26,7 +26,7 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[])
notmuch_config_t *config;
notmuch_database_t *notmuch;
notmuch_query_t *query;
- FILE *output;
+ FILE *output = stdout;
notmuch_messages_t *messages;
notmuch_message_t *message;
notmuch_tags_t *tags;
@@ -40,23 +40,28 @@ notmuch_dump_command (unused (void *ctx), int argc, char *argv[])
if (notmuch == NULL)
return 1;
- query = notmuch_query_create (notmuch, "");
- if (query == NULL) {
- fprintf (stderr, "Out of memory\n");
- return 1;
- }
- notmuch_query_set_sort (query, NOTMUCH_SORT_MESSAGE_ID);
-
- if (argc) {
+ if (argc && strcmp (argv[0], "--") != 0) {
output = fopen (argv[0], "w");
if (output == NULL) {
fprintf (stderr, "Error opening %s for writing: %s\n",
argv[0], strerror (errno));
return 1;
}
- } else {
- output = stdout;
+ argc--;
+ argv++;
+ }
+
+ if (argc && strcmp (argv[0], "--") == 0){
+ argc--;
+ argv++;
+ }
+
+ query = notmuch_query_create (notmuch, "");
+ if (query == NULL) {
+ fprintf (stderr, "Out of memory\n");
+ return 1;
}
+ notmuch_query_set_sort (query, NOTMUCH_SORT_MESSAGE_ID);
for (messages = notmuch_query_search_messages (query);
notmuch_messages_valid (messages);
--
1.7.6.3
More information about the notmuch
mailing list