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 (!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;
}
}