[PATCH 2/2] cli: add --format=text0 to notmuch search

Jani Nikula jani at nikula.org
Thu Dec 6 14:29:58 PST 2012


Add new format text0, which is otherwise the same as text, but use the
null character as separator instead of the newline character. This is
similar to find(1) -print0 option, and works together with the
xargs(1) -0 option.
---
 notmuch-search.c |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/notmuch-search.c b/notmuch-search.c
index 830c4e4..cd02b1d 100644
--- a/notmuch-search.c
+++ b/notmuch-search.c
@@ -305,8 +305,11 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
     int exclude = EXCLUDE_TRUE;
     unsigned int i;
 
-    enum { NOTMUCH_FORMAT_JSON, NOTMUCH_FORMAT_TEXT }
-	format_sel = NOTMUCH_FORMAT_TEXT;
+    enum {
+	NOTMUCH_FORMAT_JSON,
+	NOTMUCH_FORMAT_TEXT,
+	NOTMUCH_FORMAT_TEXT0,
+    } format_sel = NOTMUCH_FORMAT_TEXT;
 
     notmuch_opt_desc_t options[] = {
 	{ NOTMUCH_OPT_KEYWORD, &sort, "sort", 's',
@@ -316,6 +319,7 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
 	{ NOTMUCH_OPT_KEYWORD, &format_sel, "format", 'f',
 	  (notmuch_keyword_t []){ { "json", NOTMUCH_FORMAT_JSON },
 				  { "text", NOTMUCH_FORMAT_TEXT },
+				  { "text0", NOTMUCH_FORMAT_TEXT0 },
 				  { 0, 0 } } },
 	{ NOTMUCH_OPT_KEYWORD, &output, "output", 'o',
 	  (notmuch_keyword_t []){ { "summary", OUTPUT_SUMMARY },
@@ -344,6 +348,9 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
     case NOTMUCH_FORMAT_TEXT:
 	format = sprinter_text_create (ctx, stdout);
 	break;
+    case NOTMUCH_FORMAT_TEXT0:
+	format = sprinter_text0_create (ctx, stdout);
+	break;
     case NOTMUCH_FORMAT_JSON:
 	format = sprinter_json_create (ctx, stdout);
 	break;
-- 
1.7.10.4



More information about the notmuch mailing list