From: Austin Clements <amdragon@MIT.EDU>
To: notmuch@notmuchmail.org
Subject: [PATCH v2 5/8] show: Convert mbox format to new self-recursive style
Date: Tue, 6 Mar 2012 18:48:41 +0000 [thread overview]
Message-ID: <1331059724-14653-6-git-send-email-amdragon@mit.edu> (raw)
In-Reply-To: <1331059724-14653-1-git-send-email-amdragon@mit.edu>
Given the lack of recursion, this is pretty easy.
---
notmuch-show.c | 40 ++++++++++++++++++----------------------
1 files changed, 18 insertions(+), 22 deletions(-)
diff --git a/notmuch-show.c b/notmuch-show.c
index b3a4550..72c141e 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -45,25 +45,15 @@ static const notmuch_show_format_t format_json = {
.message_set_end = "]"
};
-static void
-format_message_mbox (const void *ctx,
- notmuch_message_t *message,
- unused (int indent));
+static notmuch_status_t
+format_part_mbox (const void *ctx, mime_node_t *node,
+ int indent, const notmuch_show_params_t *params);
static const notmuch_show_format_t format_mbox = {
- "", NULL,
- "", format_message_mbox,
- "", NULL, NULL, "",
- "",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- "",
- "",
- "", "",
- ""
+ .message_set_start = "",
+ .part = format_part_mbox,
+ .message_set_sep = "",
+ .message_set_end = ""
};
static void
@@ -717,11 +707,12 @@ format_part_json_entry (const void *ctx, mime_node_t *node, unused (int indent),
*
* http://qmail.org/qmail-manual-html/man5/mbox.html
*/
-static void
-format_message_mbox (const void *ctx,
- notmuch_message_t *message,
- unused (int indent))
+static notmuch_status_t
+format_part_mbox (const void *ctx, mime_node_t *node, unused (int indent),
+ unused (const notmuch_show_params_t *params))
{
+ notmuch_message_t *message = node->envelope_file;
+
const char *filename;
FILE *file;
const char *from;
@@ -734,12 +725,15 @@ format_message_mbox (const void *ctx,
size_t line_size;
ssize_t line_len;
+ if (!message)
+ INTERNAL_ERROR ("format_part_mbox requires a root part");
+
filename = notmuch_message_get_filename (message);
file = fopen (filename, "r");
if (file == NULL) {
fprintf (stderr, "Failed to open %s: %s\n",
filename, strerror (errno));
- return;
+ return NOTMUCH_STATUS_FILE_ERROR;
}
from = notmuch_message_get_header (message, "from");
@@ -760,6 +754,8 @@ format_message_mbox (const void *ctx,
printf ("\n");
fclose (file);
+
+ return NOTMUCH_STATUS_SUCCESS;
}
static notmuch_status_t
--
1.7.7.3
next prev parent reply other threads:[~2012-03-06 18:48 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-03 5:20 [PATCH 0/5] Rewrite mbox and raw show formats Austin Clements
2012-03-03 5:20 ` [PATCH 1/5] show: Allow formatters to return errors Austin Clements
2012-03-03 5:20 ` [PATCH 2/5] show: Move format_message_mbox with the other new-style formats Austin Clements
2012-03-03 5:20 ` [PATCH 3/5] show: Convert mbox format to new self-recursive style Austin Clements
2012-03-03 5:20 ` [PATCH 4/5] show: Move format_part_content_raw with the other new-style formats Austin Clements
2012-03-03 5:20 ` [PATCH 5/5] show: Convert raw format to the new self-recursive style Austin Clements
2012-03-03 22:05 ` Jameson Graef Rollins
2012-03-06 18:43 ` Austin Clements
2012-03-03 8:18 ` [PATCH 0/5] Rewrite mbox and raw show formats Tomi Ollila
2012-03-06 18:48 ` [PATCH v2 0/8] " Austin Clements
2012-03-06 18:48 ` [PATCH v2 1/8] test: Fix typo in test description Austin Clements
2012-03-06 18:48 ` [PATCH v2 2/8] test: Fix malformed multipart message Austin Clements
2012-03-06 18:48 ` [PATCH v2 3/8] show: Allow formatters to return errors Austin Clements
2012-03-06 21:22 ` Mark Walters
2012-03-07 20:18 ` Tomi Ollila
2012-03-11 23:34 ` Austin Clements
2012-03-06 18:48 ` [PATCH v2 4/8] show: Move format_message_mbox with the other new-style formats Austin Clements
2012-03-06 18:48 ` Austin Clements [this message]
2012-03-06 18:48 ` [PATCH v2 6/8] show: Move format_part_content_raw " Austin Clements
2012-03-06 18:48 ` [PATCH v2 7/8] show: Convert raw format to the new self-recursive style, properly support interior parts Austin Clements
2012-03-06 18:48 ` [PATCH v2 8/8] man: Update raw format documentation Austin Clements
2012-03-09 3:25 ` [PATCH v2 0/8] Rewrite mbox and raw show formats Adam Wolfe Gordon
2012-03-18 12:51 ` 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=1331059724-14653-6-git-send-email-amdragon@mit.edu \
--to=amdragon@mit.edu \
--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).