stte->line_max = stte->line_used;
p_realloc(&stte->line, stte->line_max + 1);
}
- strcat (stte->line, stte->buffer); /* __STRCAT_CHECKED__ */
+ m_strcat(stte->line, stte->line_max + 1, stte->buffer);
stte->line_len += stte->word_len;
stte->word_len = 0;
stte->buff_used = 0;
mutt_copy_bytes (s->fpin, fpin, a->length);
if (!piped) {
- safe_fclose (&fpin);
+ m_fclose(&fpin);
thepid = mutt_create_filter (command, NULL, &fpout, &fperr);
}
else {
}
bail:
- safe_fclose (&fpout);
- safe_fclose (&fperr);
+ m_fclose(&fpout);
+ m_fclose(&fperr);
mutt_wait_filter (thepid);
if (piped)
- safe_fclose (&fpin);
+ m_fclose(&fpin);
else
mutt_unlink (tempfile);
if (s->flags & M_CHARCONV) {
const char *charset = parameter_getval(b->parameter, "charset");
- if (!option (OPTSTRICTMIME) && !charset)
+ if (!charset)
charset = charset_getfirst(AssumedCharset);
if (charset && Charset)
cd = mutt_iconv_open (Charset, charset, M_ICONV_HOOK_FROM);
- }
- else {
+ } else {
if (b->file_charset)
cd = mutt_iconv_open (Charset, b->file_charset, M_ICONV_HOOK_FROM);
}
if (!plaintext) {
/* decode to a tempfile, saving the original destination */
fp = s->fpout;
- mutt_mktemp (tempfile);
- if ((s->fpout = safe_fopen (tempfile, "w")) == NULL) {
+ s->fpout = m_tempfile(tempfile, sizeof(tempfile), NONULL(Tempdir), NULL);
+ if (!s->fpout) {
mutt_error _("Unable to open temporary file!");
-
goto bail;
}
/* decoding the attachment changes the size and offset, so save a copy
s->prefix = NULL;
decode = 1;
- }
- else
+ } else {
b->type = TYPETEXT;
+ }
mutt_decode_attachment (b, s);
if (decode) {
b->length = ftello (s->fpout);
b->offset = 0;
- fclose (s->fpout);
+ m_fclose(&s->fpout);
/* restore final destination and substitute the tempfile for input */
s->fpout = fp;
b->offset = tmpoffset;
/* restore the original source stream */
- fclose (s->fpin);
+ m_fclose(&s->fpin);
s->fpin = fp;
}
}