]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-show.c
show: Make format_part_sigstatus_json's API consistent between GMIME 2.4 and 2.6
[notmuch] / notmuch-show.c
index 6259d3023aa114b58eca9b26c2c81da42b0995d2..07276c7db27d776133483c38a563e75a2729f824 100644 (file)
@@ -297,7 +297,7 @@ format_headers_json (const void *ctx, GMimeMessage *message)
     InternetAddressList *recipients;
     const char *recipients_string;
 
-    printf ("%s: %s",
+    printf ("{%s: %s",
            json_quote_str (local, "Subject"),
            json_quote_str (local, g_mime_message_get_subject (message)));
     printf (", %s: %s",
@@ -315,7 +315,7 @@ format_headers_json (const void *ctx, GMimeMessage *message)
        printf (", %s: %s",
                json_quote_str (local, "Cc"),
                json_quote_str (local, recipients_string));
-    printf (", %s: %s",
+    printf (", %s: %s}",
            json_quote_str (local, "Date"),
            json_quote_str (local, g_mime_message_get_date_as_string (message)));
 
@@ -404,9 +404,11 @@ signer_status_to_string (GMimeSignerStatus x)
 
 #ifdef GMIME_ATLEAST_26
 static void
-format_part_sigstatus_json (GMimeSignatureList *siglist)
+format_part_sigstatus_json (mime_node_t *node)
 {
-    printf (", \"sigstatus\": [");
+    GMimeSignatureList *siglist = node->sig_list;
+
+    printf ("[");
 
     if (!siglist) {
        printf ("]");
@@ -470,9 +472,11 @@ format_part_sigstatus_json (GMimeSignatureList *siglist)
 }
 #else
 static void
-format_part_sigstatus_json (const GMimeSignatureValidity* validity)
+format_part_sigstatus_json (mime_node_t *node)
 {
-    printf (", \"sigstatus\": [");
+    const GMimeSignatureValidity* validity = node->sig_validity;
+
+    printf ("[");
 
     if (!validity) {
        printf ("]");
@@ -658,9 +662,8 @@ format_part_json (const void *ctx, mime_node_t *node, notmuch_bool_t first)
        printf ("{");
        format_message_json (ctx, node->envelope_file);
 
-       printf ("\"headers\": {");
+       printf ("\"headers\": ");
        format_headers_json (ctx, GMIME_MESSAGE (node->part));
-       printf ("}");
 
        printf (", \"body\": [");
        format_part_json (ctx, mime_node_child (node, 0), first);
@@ -696,11 +699,8 @@ format_part_json (const void *ctx, mime_node_t *node, notmuch_bool_t first)
     }
 
     if (node->verify_attempted) {
-#ifdef GMIME_ATLEAST_26
-       format_part_sigstatus_json (node->sig_list);
-#else
-       format_part_sigstatus_json (node->sig_validity);
-#endif
+       printf (", \"sigstatus\": ");
+       format_part_sigstatus_json (node);
     }
 
     printf (", \"content-type\": %s",
@@ -746,9 +746,8 @@ format_part_json (const void *ctx, mime_node_t *node, notmuch_bool_t first)
        g_object_unref (stream_memory);
 
     if (GMIME_IS_MESSAGE (node->part)) {
-       printf ("\"headers\": {");
+       printf ("\"headers\": ");
        format_headers_json (local, GMIME_MESSAGE (node->part));
-       printf ("}");
 
        printf (", \"body\": [");
     }