X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhoutsbr.c;h=7e12c46a72fa17a4ad6f9c30f299bea83f49ac57;hp=6d2914ae4f766051458184699e76ee123ed07109;hb=5dd6771b28c257af405d7248639ed0e3bcdce38b;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/uip/mhoutsbr.c b/uip/mhoutsbr.c index 6d2914a..7e12c46 100644 --- a/uip/mhoutsbr.c +++ b/uip/mhoutsbr.c @@ -3,7 +3,9 @@ * mhoutsbr.c -- routines to output MIME messages * -- given a Content structure * - * $Id$ + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include @@ -12,8 +14,8 @@ #include #include #include -#include -#include +#include +#include #include #include @@ -22,7 +24,6 @@ #endif -extern int errno; extern int ebcdicsw; static char ebcdicsafe[0x100] = { @@ -67,13 +68,14 @@ static char nib2b64[0x40+1] = * prototypes */ int output_message (CT, char *); +int output_message_fp (CT, FILE *, char *); int writeBase64aux (FILE *, FILE *); /* * static prototypes */ static int output_content (CT, FILE *); -static int output_headers (CT, FILE *); +static void output_headers (CT, FILE *); static int writeExternalBody (CT, FILE *); static int write8Bit (CT, FILE *); static int writeQuoted (CT, FILE *); @@ -87,27 +89,33 @@ static int writeBase64 (CT, FILE *); */ int -output_message (CT ct, char *file) +output_message_fp (CT ct, FILE *fp, char *file) { - FILE *fp; - - if ((fp = fopen (file, "w")) == NULL) { - advise (file, "unable to open for writing"); - return NOTOK; - } - if (output_content (ct, fp) == NOTOK) return NOTOK; if (fflush (fp)) { - advise (file, "error writing to"); + advise ((file?file:""), "error writing to"); return NOTOK; } - fclose (fp); - return OK; } +int +output_message (CT ct, char *file) +{ + FILE *fp; + int status; + + if ((fp = fopen (file, "w")) == NULL) { + advise (file, "unable to open for writing"); + return NOTOK; + } + status = output_message_fp(ct, fp, file); + fclose(fp); + return status; +} + /* * Output a Content structure to a file. @@ -219,7 +227,7 @@ output_content (CT ct, FILE *out) * Output all the header fields for a content */ -static int +static void output_headers (CT ct, FILE *out) { HF hp; @@ -260,7 +268,7 @@ writeExternalBody (CT ct, FILE *out) case 'N': for (ap = ci2->ci_attrs, ep = ci2->ci_values; *ap; ap++, ep++) - if (!strcasecmp (*ap, "name")) { + if (!mh_strcasecmp (*ap, "name")) { fprintf (out, "%s", *ep); break; }