[PATCH 5/6] show: Support NULL values for message_set_{start, sep, end}

Austin Clements amdragon at MIT.EDU
Sat Apr 7 17:57:49 PDT 2012


Many formats don't need these, so it's more convenient if they don't
have to set them at all.
---
 notmuch-show.c |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/notmuch-show.c b/notmuch-show.c
index 5a71115..ef26ad2 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -844,17 +844,19 @@ show_messages (void *ctx,
     int next_indent;
     notmuch_status_t status, res = NOTMUCH_STATUS_SUCCESS;
 
-    fputs (format->message_set_start, stdout);
+    if (format->message_set_start)
+	fputs (format->message_set_start, stdout);
 
     for (;
 	 notmuch_messages_valid (messages);
 	 notmuch_messages_move_to_next (messages))
     {
-	if (!first_set)
+	if (!first_set && format->message_set_sep)
 	    fputs (format->message_set_sep, stdout);
 	first_set = 0;
 
-	fputs (format->message_set_start, stdout);
+	if (format->message_set_start)
+	    fputs (format->message_set_start, stdout);
 
 	message = notmuch_messages_get (messages);
 
@@ -868,7 +870,7 @@ show_messages (void *ctx,
 		res = status;
 	    next_indent = indent + 1;
 
-	    if (!status)
+	    if (!status && format->message_set_sep)
 		fputs (format->message_set_sep, stdout);
 	}
 
@@ -882,10 +884,12 @@ show_messages (void *ctx,
 
 	notmuch_message_destroy (message);
 
-	fputs (format->message_set_end, stdout);
+	if (format->message_set_end)
+	    fputs (format->message_set_end, stdout);
     }
 
-    fputs (format->message_set_end, stdout);
+    if (format->message_set_end)
+	fputs (format->message_set_end, stdout);
 
     return res;
 }
@@ -931,7 +935,8 @@ do_show (void *ctx,
     int first_toplevel = 1;
     notmuch_status_t status, res = NOTMUCH_STATUS_SUCCESS;
 
-    fputs (format->message_set_start, stdout);
+    if (format->message_set_start)
+	fputs (format->message_set_start, stdout);
 
     for (threads = notmuch_query_search_threads (query);
 	 notmuch_threads_valid (threads);
@@ -945,7 +950,7 @@ do_show (void *ctx,
 	    INTERNAL_ERROR ("Thread %s has no toplevel messages.\n",
 			    notmuch_thread_get_thread_id (thread));
 
-	if (!first_toplevel)
+	if (!first_toplevel && format->message_set_sep)
 	    fputs (format->message_set_sep, stdout);
 	first_toplevel = 0;
 
@@ -957,7 +962,8 @@ do_show (void *ctx,
 
     }
 
-    fputs (format->message_set_end, stdout);
+    if (format->message_set_end)
+	fputs (format->message_set_end, stdout);
 
     return res != NOTMUCH_STATUS_SUCCESS;
 }
-- 
1.7.9.1



More information about the notmuch mailing list