[PATCH 2/2] Print nothing when search result is empty

Michal Sojka sojkam1 at fel.cvut.cz
Mon Nov 1 09:15:40 PDT 2010


This change affects both text and json formats. Now, text format
behaves as before commit 6dcb7592, but json format is changed.
Earlier, the empty search returned '[]', now it returns ''. The emacs
interface seems not to be affected by this change.
---
 notmuch-search.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/notmuch-search.c b/notmuch-search.c
index 5907c2e..bb989da 100644
--- a/notmuch-search.c
+++ b/notmuch-search.c
@@ -189,7 +189,9 @@ do_search_threads (const void *ctx,
     {
 	int first_tag = 1;
 
-	if (! first_thread)
+	if (first_thread)
+	    fputs (format->results_start, stdout);
+	else
 	    fputs (format->item_sep, stdout);
 
 	thread = notmuch_threads_get (threads);
@@ -235,6 +237,9 @@ do_search_threads (const void *ctx,
 	notmuch_thread_destroy (thread);
     }
 
+    if (! first_thread)
+	fputs (format->results_end, stdout);
+
     return 0;
 }
 
@@ -258,7 +263,9 @@ do_search_messages (const void *ctx,
     {
 	message = notmuch_messages_get (messages);
 
-	if (! first_message)
+	if (first_message)
+	    fputs (format->results_start, stdout);
+	else
 	    fputs (format->item_sep, stdout);
 
 	if (output == OUTPUT_FILES) {
@@ -276,6 +283,9 @@ do_search_messages (const void *ctx,
 
     notmuch_messages_destroy (messages);
 
+    if (! first_message)
+	fputs (format->results_end, stdout);
+
     return 0;
 }
 
@@ -415,8 +425,6 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
 
     notmuch_query_set_sort (query, sort);
 
-    fputs (format->results_start, stdout);
-
     switch (output) {
     default:
     case OUTPUT_SUMMARY:
@@ -432,8 +440,6 @@ notmuch_search_command (void *ctx, int argc, char *argv[])
 	break;
     }
 
-    fputs (format->results_end, stdout);
-
     notmuch_query_destroy (query);
     notmuch_database_close (notmuch);
 
-- 
1.7.2.3



More information about the notmuch mailing list