diff options
Diffstat (limited to 'examples/mimetest.c')
-rw-r--r-- | examples/mimetest.c | 202 |
1 files changed, 101 insertions, 101 deletions
diff --git a/examples/mimetest.c b/examples/mimetest.c index fba093ab7..9ff413973 100644 --- a/examples/mimetest.c +++ b/examples/mimetest.c @@ -68,13 +68,13 @@ main (int argc, char **argv) for (i = 1; i < argc; i++) { if (strcmp (argv[i], "-d") == 0) - debug = 1; + debug = 1; else if (strcmp (argv[i], "-p") == 0) - print_attachments = 1; + print_attachments = 1; else if (strcmp (argv[i], "-i") == 0) - indent_level = strtoul (argv[++i], NULL, 0); + indent_level = strtoul (argv[++i], NULL, 0); else - break; + break; } mailbox_name = argv[i]; @@ -122,32 +122,32 @@ main (int argc, char **argv) size_t msize; if ((ret = mailbox_get_message (mbox, i, &msg)) != 0) - { - fprintf (stderr, "mailbox_get_message - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "mailbox_get_message - %s\n", mu_errstring (ret)); + exit (2); + } if ((ret = message_size (msg, &msize)) != 0) - { - fprintf (stderr, "message_size - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "message_size - %s\n", mu_errstring (ret)); + exit (2); + } if ((ret = message_get_header (msg, &hdr)) != 0) - { - fprintf (stderr, "message_get_header - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "message_get_header - %s\n", mu_errstring (ret)); + exit (2); + } header_get_value (hdr, MU_HEADER_FROM, from, sizeof (from), NULL); header_get_value (hdr, MU_HEADER_SUBJECT, subject, sizeof (subject), - NULL); + NULL); printf ("Message: %d\n", i); printf ("From: %s\n", from); printf ("Subject: %s\n", subject); if ((ret = message_get_num_parts (msg, &nparts)) != 0) - { - fprintf (stderr, "message_get_num_parts - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "message_get_num_parts - %s\n", mu_errstring (ret)); + exit (2); + } printf ("Number of parts in message - %d\n", nparts); printf ("Total message size - %d\n", msize); message_display_parts (msg, 0); @@ -186,98 +186,98 @@ message_display_parts (message_t msg, int indent) for (j = 1; j <= nparts; j++) { if ((ret = message_get_part (msg, j, &part)) != 0) - { - fprintf (stderr, "mime_get_part - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "mime_get_part - %s\n", mu_errstring (ret)); + exit (2); + } if ((ret = message_size (part, &msize)) != 0) - { - fprintf (stderr, "message_size - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "message_size - %s\n", mu_errstring (ret)); + exit (2); + } if ((ret = message_get_header (part, &hdr)) != 0) - { - fprintf (stderr, "message_get_header - %s\n", mu_errstring (ret)); - exit (2); - } + { + fprintf (stderr, "message_get_header - %s\n", mu_errstring (ret)); + exit (2); + } header_get_value (hdr, MU_HEADER_CONTENT_TYPE, type, sizeof (type), - NULL); + NULL); printf ("%*.*sType of part %d = %s\n", indent, indent, "", j, type); printf ("%*.*sMessage part size - %d\n", indent, indent, "", msize); encoding[0] = '\0'; header_get_value (hdr, MU_HEADER_CONTENT_TRANSFER_ENCODING, encoding, - sizeof (encoding), NULL); + sizeof (encoding), NULL); ismulti = 0; if ((type[0] - && strncasecmp (type, "message/rfc822", strlen (type)) == 0) - || (message_is_multipart (part, &ismulti) == 0 && ismulti)) - { - if (!ismulti) - { - ret = message_unencapsulate (part, &part, NULL); - if (ret != 0) - fprintf (stderr, "message_unencapsulate - %s\n", - mu_errstring (ret)); - break; - } - if ((ret = message_get_header (part, &hdr)) != 0) - { - fprintf (stderr, "message_get_header - %s\n", - mu_errstring (ret)); - exit (2); - } - header_get_value (hdr, MU_HEADER_FROM, from, sizeof (from), NULL); - header_get_value (hdr, MU_HEADER_SUBJECT, subject, sizeof (subject), - NULL); - printf ("%*.*sEncapsulated message : %s\t%s\n", - indent, indent, "", from, subject); - printf ("%*.*sBegin\n", indent, indent, ""); - if ((ret = message_get_num_parts (part, &nsubparts)) != 0) - { - fprintf (stderr, "mime_get_num_parts - %s\n", - mu_errstring (ret)); - exit (2); - } - message_display_parts (part, indent+indent_level); - message_destroy (&part, NULL); - } + && strncasecmp (type, "message/rfc822", strlen (type)) == 0) + || (message_is_multipart (part, &ismulti) == 0 && ismulti)) + { + if (!ismulti) + { + ret = message_unencapsulate (part, &part, NULL); + if (ret != 0) + fprintf (stderr, "message_unencapsulate - %s\n", + mu_errstring (ret)); + break; + } + if ((ret = message_get_header (part, &hdr)) != 0) + { + fprintf (stderr, "message_get_header - %s\n", + mu_errstring (ret)); + exit (2); + } + header_get_value (hdr, MU_HEADER_FROM, from, sizeof (from), NULL); + header_get_value (hdr, MU_HEADER_SUBJECT, subject, sizeof (subject), + NULL); + printf ("%*.*sEncapsulated message : %s\t%s\n", + indent, indent, "", from, subject); + printf ("%*.*sBegin\n", indent, indent, ""); + if ((ret = message_get_num_parts (part, &nsubparts)) != 0) + { + fprintf (stderr, "mime_get_num_parts - %s\n", + mu_errstring (ret)); + exit (2); + } + message_display_parts (part, indent+indent_level); + message_destroy (&part, NULL); + } else if (type[0] == '\0' - || (strncasecmp (type, "text/plain", strlen ("text/plain")) == - 0) - || (strncasecmp (type, "text/html", strlen ("text/html")) == - 0)) - { - printf ("%*.*sText Message\n", indent, indent, ""); - printf ("%*.*sBegin\n", indent, indent, ""); - message_get_body (part, &body); - body_get_stream (body, &str); - filter_create (&str, str, encoding, 0, 0); - offset = 0; - while (stream_readline (str, buf, sizeof (buf), offset, &nbytes) == - 0 && nbytes) - { - printf ("%*.*s%s", indent, indent, "", buf); - offset += nbytes; - } - stream_destroy (&str, NULL); - } + || (strncasecmp (type, "text/plain", strlen ("text/plain")) == + 0) + || (strncasecmp (type, "text/html", strlen ("text/html")) == + 0)) + { + printf ("%*.*sText Message\n", indent, indent, ""); + printf ("%*.*sBegin\n", indent, indent, ""); + message_get_body (part, &body); + body_get_stream (body, &str); + filter_create (&str, str, encoding, 0, 0); + offset = 0; + while (stream_readline (str, buf, sizeof (buf), offset, &nbytes) == + 0 && nbytes) + { + printf ("%*.*s%s", indent, indent, "", buf); + offset += nbytes; + } + stream_destroy (&str, NULL); + } else - { - /* Save the attachements. */ - char *fname = NULL; - message_aget_attachment_name (part, &fname); - if (fname == NULL) - fname = mu_tempname (NULL); + { + /* Save the attachements. */ + char *fname = NULL; + message_aget_attachment_name (part, &fname); + if (fname == NULL) + fname = mu_tempname (NULL); - printf ("%*.*sAttachment - saving [%s]\n", indent, indent, "", - fname); - printf ("%*.*sBegin\n", indent, indent, ""); - /*FIXME: What is the 'data' argument for? */ - message_save_attachment (part, NULL, NULL); - if (print_attachments) - print_file (fname, indent); - free (fname); - } + printf ("%*.*sAttachment - saving [%s]\n", indent, indent, "", + fname); + printf ("%*.*sBegin\n", indent, indent, ""); + /*FIXME: What is the 'data' argument for? */ + message_save_attachment (part, NULL, NULL); + if (print_attachments) + print_file (fname, indent); + free (fname); + } printf ("\n%*.*sEnd\n", indent, indent, ""); } } |