int output_message (CT, char *);
/* mhshowsbr.c */
-int show_content_aux (CT, int, int, char *, char *);
+int show_content_aux (CT, int, char *, char *);
/* mhmisc.c */
void flush_errors (void);
static int convert_charsets (CT, char *, int *);
static int write_content (CT, char *, char *, int, int);
static int remove_file (char *);
-static void report (char *, char *, char *, ...);
+static void report (char *, char *, char *, char *, ...);
static void pipeser (int);
++*message_mods;
if (verbosw) {
- report (NULL, filename,
+ report (NULL, NULL, filename,
"fix multipart boundary");
}
}
++*message_mods;
if (verbosw) {
char *encoding = cpytrim (hf->value);
- report (ct->c_partno, ct->c_file,
+ report (NULL, ct->c_partno, ct->c_file,
"replace Content-Transfer-Encoding of %s "
"with 8 bit", encoding);
free (encoding);
prev->mp_next = part->mp_next;
}
if (verbosw) {
- report (parent->c_partno, parent->c_file,
+ report (NULL, parent->c_partno, parent->c_file,
"remove text/plain part %s",
old_part->mp_part->c_partno);
}
++*message_mods;
if (verbosw) {
- report (parent->c_partno, parent->c_file,
+ report (NULL, parent->c_partno, parent->c_file,
"insert text/plain part");
}
} else {
++*message_mods;
if (verbosw) {
- report ((*ct)->c_partno, (*ct)->c_file,
+ report (NULL, (*ct)->c_partno, (*ct)->c_file,
"insert text/plain part");
}
} else {
free (cp);
cp = concat (cf, " >", file, NULL);
- status = show_content_aux (ct, 1, 0, cp, NULL);
+ status = show_content_aux (ct, 0, cp, NULL);
free (cp);
/* Unlink decoded content tmp file and free its filename to avoid
c_cefile, c_encoding,
c_digested, c_digest[16], c_ctexbody,
c_ctinitfnx, c_ceopenfnx, c_ceclosefnx, c_cesizefnx,
- c_umask, c_pid, c_rfc934,
+ c_umask, c_rfc934,
c_showproc, c_termproc, c_storeproc, c_storage, c_folder
*/
/* The decoding isn't acceptable so discard it.
Leave status as OK to allow other transformations. */
if (verbosw) {
- report (ct->c_partno, ct->c_file,
+ report (NULL, ct->c_partno, ct->c_file,
"will not decode%s because it is binary (%s)",
ct->c_partno ? ""
: ct->c_ctline ? ct->c_ctline
/* The decoding isn't acceptable so discard it.
Leave status as OK to allow other transformations. */
if (verbosw) {
- report (ct->c_partno, ct->c_file,
+ report (NULL, ct->c_partno, ct->c_file,
"will not decode%s because it is 8bit",
ct->c_partno ? ""
: ct->c_ctline ? ct->c_ctline
if (set_ce (ct, enc) == OK) {
++*message_mods;
if (verbosw) {
- report (ct->c_partno, ct->c_file, "decode%s",
+ report (NULL, ct->c_partno, ct->c_file, "decode%s",
ct->c_ctline ? ct->c_ctline : "");
}
strip_crs (ct, message_mods);
++*message_mods;
if (verbosw) {
- report (ct->c_partno,
+ report (NULL, ct->c_partno,
begin == 0 && end == 0 ? "" : *file,
"stripped CRs");
}
case CT_TEXT:
if (ct->c_subtype == TEXT_PLAIN) {
status = convert_charset (ct, dest_charset, message_mods);
- if (verbosw && status == OK) {
- report (ct->c_partno, ct->c_file, "convert %s to %s",
- content_charset(ct), dest_charset);
+ if (status == OK) {
+ if (verbosw) {
+ report (NULL, ct->c_partno, ct->c_file,
+ "convert %s to %s",
+ content_charset(ct), dest_charset);
+ }
+ } else {
+ report ("iconv", ct->c_partno, ct->c_file,
+ "failed to convert %s to %s",
+ content_charset(ct), dest_charset);
}
}
break;
static void
-report (char *partno, char *filename, char *message, ...) {
+report (char *what, char *partno, char *filename, char *message, ...) {
va_list args;
char *fmt;
fmt = concat (filename, partno ? " part " : ", ",
partno ? partno : "", partno ? ", " : "", message, NULL);
- advertise (NULL, NULL, fmt, args);
+ advertise (what, NULL, fmt, args);
free (fmt);
va_end (args);