return (-1);
/* Create a temporary file to write the new version of the mailbox in. */
- mutt_mktemp (tempfile);
- if ((i = open (tempfile, O_WRONLY | O_EXCL | O_CREAT, 0600)) == -1 ||
- (fp = fdopen (i, "w")) == NULL) {
- if (-1 != i) {
- close (i);
- unlink (tempfile);
- }
+ fp = m_tempfile(tempfile, _POSIX_PATH_MAX, NONULL(Tempdir), NULL);
+ if (fp == NULL) {
mutt_error _("Could not create temporary file!");
-
mutt_sleep (5);
goto bail;
}
unlink (tempfile);
goto bail;
}
-
}
/* save the new offset for this message. we add `offset' because the
}
}
- if (fclose (fp) != 0) {
- fp = NULL;
+ if (m_fclose(&fp) != 0) {
unlink (tempfile);
mutt_perror (tempfile);
mutt_sleep (5);
goto bail;
}
- fp = NULL;
/* Save the state of this folder. */
if (stat (ctx->path, &statbuf) == -1) {
}
}
- fclose (fp);
- fp = NULL;
+ m_fclose(&fp);
mbox_unlock_mailbox (ctx);
- if (fclose (ctx->fp) != 0 || i == -1) {
+ if (m_fclose(&ctx->fp) != 0 || i == -1) {
/* error occured while writing the mailbox back, so keep the temp copy
* around
*/
bail: /* Come here in case of disaster */
- safe_fclose (&fp);
+ m_fclose(&fp);
/* restore offsets, as far as they are valid */
if (first >= 0 && oldOffset) {
magic = M_MBOX;
else if (m_strcmp(MMDF_SEP, tmp) == 0)
magic = M_MMDF;
- safe_fclose (&f);
+ m_fclose(&f);
/* need to restore the times here, the file was not really accessed,
* only the type was accessed. This is important, because detection