This makes the main recursive function easier to follow because helper
functions don't add fields to the running object.
InternetAddressList *recipients;
const char *recipients_string;
InternetAddressList *recipients;
const char *recipients_string;
json_quote_str (local, "Subject"),
json_quote_str (local, g_mime_message_get_subject (message)));
printf (", %s: %s",
json_quote_str (local, "Subject"),
json_quote_str (local, g_mime_message_get_subject (message)));
printf (", %s: %s",
printf (", %s: %s",
json_quote_str (local, "Cc"),
json_quote_str (local, recipients_string));
printf (", %s: %s",
json_quote_str (local, "Cc"),
json_quote_str (local, recipients_string));
json_quote_str (local, "Date"),
json_quote_str (local, g_mime_message_get_date_as_string (message)));
json_quote_str (local, "Date"),
json_quote_str (local, g_mime_message_get_date_as_string (message)));
static void
format_part_sigstatus_json (GMimeSignatureList *siglist)
{
static void
format_part_sigstatus_json (GMimeSignatureList *siglist)
{
- printf (", \"sigstatus\": [");
if (!siglist) {
printf ("]");
if (!siglist) {
printf ("]");
static void
format_part_sigstatus_json (const GMimeSignatureValidity* validity)
{
static void
format_part_sigstatus_json (const GMimeSignatureValidity* validity)
{
- printf (", \"sigstatus\": [");
if (!validity) {
printf ("]");
if (!validity) {
printf ("]");
printf ("{");
format_message_json (ctx, node->envelope_file);
printf ("{");
format_message_json (ctx, node->envelope_file);
- printf ("\"headers\": {");
+ printf ("\"headers\": ");
format_headers_json (ctx, GMIME_MESSAGE (node->part));
format_headers_json (ctx, GMIME_MESSAGE (node->part));
printf (", \"body\": [");
format_part_json (ctx, mime_node_child (node, 0), first);
printf (", \"body\": [");
format_part_json (ctx, mime_node_child (node, 0), first);
}
if (node->verify_attempted) {
}
if (node->verify_attempted) {
+ printf (", \"sigstatus\": ");
#ifdef GMIME_ATLEAST_26
format_part_sigstatus_json (node->sig_list);
#else
#ifdef GMIME_ATLEAST_26
format_part_sigstatus_json (node->sig_list);
#else
g_object_unref (stream_memory);
if (GMIME_IS_MESSAGE (node->part)) {
g_object_unref (stream_memory);
if (GMIME_IS_MESSAGE (node->part)) {
- printf ("\"headers\": {");
+ printf ("\"headers\": ");
format_headers_json (local, GMIME_MESSAGE (node->part));
format_headers_json (local, GMIME_MESSAGE (node->part));
printf (", \"body\": [");
}
printf (", \"body\": [");
}