#include <h/mh.h>
#include <fcntl.h>
-#include <h/signals.h>
#include <h/md5.h>
#include <h/mts.h>
#include <h/tws.h>
part->mp_part->c_ctinfo.ci_subtype, NULL);
if (part->mp_part->c_type == CT_MULTIPART) {
- expand_pseudoheaders (part->mp_part, mp, infile,
+ expand_pseudoheaders (part->mp_part, m, infile,
convert_head);
} else {
const convert_list *c;
struct str2init *s2i;
CT reply_ct;
struct part *part;
+ int status;
type_p = getcpy (type);
if ((subtype_p = strchr (type_p, '/'))) {
/* Convert here . . . */
ct->c_storeproc = getcpy (convert_command);
ct->c_umask = ~m_gmprot ();
- if (show_content_aux (ct, 0, convert_command, NULL, NULL) == NOTOK) {
+
+ if ((status = show_content_aux (ct, 0, convert_command, NULL, NULL)) !=
+ OK) {
admonish (NULL, "store of %s content failed", type);
}
free (convert_command);
if (reply_ct->c_type == CT_TEXT &&
reply_ct->c_subtype == TEXT_PLAIN) {
if (! *text_plain_ct && m->mp_parts && m->mp_parts->mp_part &&
- m->mp_parts->mp_part->c_type == CT_TEXT) {
+ m->mp_parts->mp_part->c_type == CT_TEXT &&
+ m->mp_parts->mp_part->c_subtype == TEXT_PLAIN) {
*text_plain_ct = m->mp_parts->mp_part;
/* Make sure that the charset is set in the text/plain
part. */
if (text_plain_reply != NOTOK && addl_reply != NOTOK) {
/* Insert blank line before each addl part. */
+ /* It would be nice not to do this for the first one. */
if (write (text_plain_reply, "\n", 1) == 1) {
/* Copy the text from the new reply and
then free its Content struct. */
buffer[statbuf.st_size] = '\0';
/* Look for a header in the convert reply. */
- if ((end_of_header = strstr (buffer, "\r\n\r\n"))) {
- end_of_header += 2;
- found_header = 1;
- } else if ((end_of_header = strstr (buffer, "\n\n"))) {
- ++end_of_header;
- found_header = 1;
+ if (strncasecmp (buffer, TYPE_FIELD, strlen (TYPE_FIELD)) == 0 &&
+ buffer[strlen (TYPE_FIELD)] == ':') {
+ if ((end_of_header = strstr (buffer, "\r\n\r\n"))) {
+ end_of_header += 2;
+ found_header = 1;
+ } else if ((end_of_header = strstr (buffer, "\n\n"))) {
+ ++end_of_header;
+ found_header = 1;
+ }
}
if (found_header) {