From: Jani Nikula <jani@nikula.org>
To: notmuch@notmuchmail.org
Subject: [PATCH v2 1/2] cli/show: abstract get content disposition
Date: Sun, 26 Feb 2017 20:33:47 +0200 [thread overview]
Message-ID: <20170226183348.30470-1-jani@nikula.org> (raw)
Reduce duplication in follow-up work. As a side effect, handle error
returns from g_mime_content_disposition_get_disposition() without
segfaulting.
---
notmuch-show.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/notmuch-show.c b/notmuch-show.c
index ab4ea1c2bdc1..7630f49dbc59 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -110,6 +110,17 @@ _get_one_line_summary (const void *ctx, notmuch_message_t *message)
from, relative_date, tags);
}
+static const char *_get_disposition(GMimeObject *meta)
+{
+ GMimeContentDisposition *disposition;
+
+ disposition = g_mime_object_get_content_disposition (meta);
+ if (!disposition)
+ return NULL;
+
+ return g_mime_content_disposition_get_disposition (disposition);
+}
+
/* Emit a sequence of key/value pairs for the metadata of message.
* The caller should begin a map before calling this. */
static void
@@ -463,14 +474,13 @@ format_part_text (const void *ctx, sprinter_t *sp, mime_node_t *node,
notmuch_message_get_flag (message, NOTMUCH_MESSAGE_FLAG_EXCLUDED) ? 1 : 0,
notmuch_message_get_filename (message));
} else {
- GMimeContentDisposition *disposition = g_mime_object_get_content_disposition (meta);
+ const char *disposition = _get_disposition (meta);
const char *cid = g_mime_object_get_content_id (meta);
const char *filename = leaf ?
g_mime_part_get_filename (GMIME_PART (node->part)) : NULL;
if (disposition &&
- strcasecmp (g_mime_content_disposition_get_disposition (disposition),
- GMIME_DISPOSITION_ATTACHMENT) == 0)
+ strcasecmp (disposition, GMIME_DISPOSITION_ATTACHMENT) == 0)
part_type = "attachment";
else
part_type = "part";
--
2.11.0
next reply other threads:[~2017-02-26 18:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-26 18:33 Jani Nikula [this message]
2017-02-26 18:33 ` [PATCH v2 2/2] cli/show: add content-disposition to structured output message parts Jani Nikula
2017-02-28 12:07 ` [PATCH v2 1/2] cli/show: abstract get content disposition David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170226183348.30470-1-jani@nikula.org \
--to=jani@nikula.org \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).