X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fmbox.c;h=81beb5262ec3ffcdb54dace1436d2a85fd2204af;hp=03c8d27e23a36f93f3045cc22c12224e378971a5;hb=b23d5033080fe9f9fba038e3cf1e3ec2b0a0d33d;hpb=fcaada9d60ee8f52bbc8503c06fe061ca9e2fa68 diff --git a/lib-mx/mbox.c b/lib-mx/mbox.c index 03c8d27..81beb52 100644 --- a/lib-mx/mbox.c +++ b/lib-mx/mbox.c @@ -546,15 +546,9 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) 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; } @@ -611,12 +605,11 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) if (ctx->magic == M_MMDF) { if (fputs (MMDF_SEP, fp) == EOF) { - mutt_perror (tempfile); + mutt_perror (_("Can't create temporary file")); mutt_sleep (5); unlink (tempfile); goto bail; } - } /* save the new offset for this message. we add `offset' because the @@ -628,7 +621,7 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) if (mutt_copy_message (fp, ctx, ctx->hdrs[i], M_CM_UPDATE, CH_FROM | CH_UPDATE | CH_UPDATE_LEN) == -1) { - mutt_perror (tempfile); + mutt_perror (_("Can't create temporary file")); mutt_sleep (5); unlink (tempfile); goto bail; @@ -647,7 +640,7 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) switch (ctx->magic) { case M_MMDF: if (fputs (MMDF_SEP, fp) == EOF) { - mutt_perror (tempfile); + mutt_perror (_("Can't create temporary file")); mutt_sleep (5); unlink (tempfile); goto bail; @@ -655,7 +648,7 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) break; default: if (fputs ("\n", fp) == EOF) { - mutt_perror (tempfile); + mutt_perror (_("Can't create temporary file")); mutt_sleep (5); unlink (tempfile); goto bail; @@ -664,14 +657,12 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) } } - if (fclose (fp) != 0) { - fp = NULL; + if (m_fclose(&fp) != 0) { unlink (tempfile); - mutt_perror (tempfile); + mutt_perror (_("Can't create temporary file")); mutt_sleep (5); goto bail; } - fp = NULL; /* Save the state of this folder. */ if (stat (ctx->path, &statbuf) == -1) { @@ -684,7 +675,7 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) if ((fp = fopen (tempfile, "r")) == NULL) { mutt_unblock_signals (); mx_fastclose_mailbox (ctx); - mutt_perror (tempfile); + mutt_perror (_("Can't create temporary file")); mutt_sleep (5); return (-1); } @@ -716,11 +707,10 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) } } - 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 */ @@ -770,7 +760,7 @@ static int mbox_sync_mailbox (CONTEXT * ctx, int unused __attribute__ ((unused)) 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) { @@ -1016,7 +1006,7 @@ int mbox_is_magic (const char* path, struct stat* st) { 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