X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/c79c37f2b6e647212c36b63841a4628af01c774a..39a5a4f9ebf77ed31a5abf9ff2ca6ea391c52a2c:/uip/slocal.c diff --git a/uip/slocal.c b/uip/slocal.c index 4a8875e7..e6880fe0 100644 --- a/uip/slocal.c +++ b/uip/slocal.c @@ -2,8 +2,6 @@ /* * slocal.c -- asynchronously filter and deliver new mail * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -1067,7 +1065,11 @@ usr_file (int fd, char *mailbox, int mbx_style) } /* close and unlock file */ - mbx_close (mailbox, md); + if (mbx_close (mailbox, md) == NOTOK) { + if (verbose) + adorn ("", "error closing:"); + return -1; + } if (verbose) verbose_printf (", success.\n"); @@ -1274,12 +1276,12 @@ copy_message (int qd, char *tmpfil, int fold) int i, first = 1, fd1, fd2; char buffer[BUFSIZ]; FILE *qfp, *ffp; + char *tfile = NULL; - strcpy (tmpfil, m_tmpfil (invo_name)); - - /* open temporary file to put message in */ - if ((fd1 = open (tmpfil, O_RDWR | O_CREAT | O_TRUNC, 0600)) == -1) - return -1; + tfile = m_mktemp2(NULL, invo_name, &fd1, NULL); + if (tfile == NULL) return -1; + fchmod(fd1, 0600); + strncpy (tmpfil, tfile, BUFSIZ); if (!fold) { while ((i = read (qd, buffer, sizeof(buffer))) > 0)