[PATCH 2/2] cli: content disposition values are not case-sensitive

Jani Nikula jani at nikula.org
Sat Sep 26 02:35:22 PDT 2015


Per RFC 2183, the values for Content-Disposition values are not
case-sensitive. While at it, use the gmime function for getting at the
disposition string instead of referencing the field directly.

This fixes attachment display and quoting in notmuch show and reply,
respectively.
---
 notmuch-reply.c | 3 ++-
 notmuch-show.c  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/notmuch-reply.c b/notmuch-reply.c
index fd6a1ec1b11d..437c4ed5acc2 100644
--- a/notmuch-reply.c
+++ b/notmuch-reply.c
@@ -80,7 +80,8 @@ format_part_reply (mime_node_t *node)
 	    show_text_part_content (node->part, stream_stdout, NOTMUCH_SHOW_TEXT_PART_REPLY);
 	    g_object_unref(stream_stdout);
 	} else if (disposition &&
-		   strcmp (disposition->disposition, GMIME_DISPOSITION_ATTACHMENT) == 0) {
+		   strcasecmp (g_mime_content_disposition_get_disposition (disposition),
+			       GMIME_DISPOSITION_ATTACHMENT) == 0) {
 	    const char *filename = g_mime_part_get_filename (GMIME_PART (node->part));
 	    printf ("Attachment: %s (%s)\n", filename,
 		    g_mime_content_type_to_string (content_type));
diff --git a/notmuch-show.c b/notmuch-show.c
index e05480899b33..e9f4dffe0877 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -456,7 +456,8 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node,
 	    g_mime_part_get_filename (GMIME_PART (node->part)) : NULL;
 
 	if (disposition &&
-	    strcmp (disposition->disposition, GMIME_DISPOSITION_ATTACHMENT) == 0)
+	    strcasecmp (g_mime_content_disposition_get_disposition (disposition),
+			GMIME_DISPOSITION_ATTACHMENT) == 0)
 	    part_type = "attachment";
 	else
 	    part_type = "part";
-- 
2.1.4



More information about the notmuch mailing list