Changed msg_style and msg_delim to be file static to m_getfld.c
[mmh] / uip / rcvstore.c
index 3e0961e..acf54be 100644 (file)
@@ -2,8 +2,6 @@
 /*
  * rcvstore.c -- asynchronously add mail to a folder
  *
- * $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.
@@ -48,14 +46,15 @@ static struct swit switches[] = {
  */
 static char *tmpfilenam = NULL;
 
-static int unlink_done(int);
+static void unlink_done(int) NORETURN;
 
 int
 main (int argc, char **argv)
 {
     int publicsw = -1, zerosw = 0;
     int create = 1, unseensw = 1;
-    int fd, msgnum, seqp = 0;
+    int fd, msgnum;
+    size_t seqp = 0;
     char *cp, *maildir, *folder = NULL, buf[BUFSIZ];
     char **argp, **arguments, *seqs[NUMATTRS+1];
     struct msgs *mp;
@@ -89,10 +88,10 @@ main (int argc, char **argv)
                snprintf (buf, sizeof(buf), "%s [+folder] [switches]",
                          invo_name);
                print_help (buf, switches, 1);
-               done (1);
+               done (0);
            case VERSIONSW:
                print_version(invo_name);
-               done (1);
+               done (0);
 
            case SEQSW: 
                if (!(cp = *argp++) || *cp == '-')
@@ -173,9 +172,10 @@ main (int argc, char **argv)
     SIGNAL (SIGTERM, SIG_IGN);
 
     /* create a temporary file */
-    tmpfilenam = m_scratch ("", invo_name);
-    if ((fd = creat (tmpfilenam, m_gmprot ())) == NOTOK)
-       adios (tmpfilenam, "unable to create");
+    tmpfilenam = m_mktemp (invo_name, &fd, NULL);
+    if (tmpfilenam == NULL) {
+       adios ("rcvstore", "unable to create temporary file");
+    }
     chmod (tmpfilenam, m_gmprot());
 
     /* copy the message from stdin into temp file */
@@ -225,17 +225,17 @@ main (int argc, char **argv)
     unlink (tmpfilenam);       /* remove temporary file                  */
     tmpfilenam = NULL;
 
-    return done (0);
+    done (0);
+    return 1;
 }
 
 /*
  * Clean up and exit
  */
-static int
+static void
 unlink_done(int status)
 {
     if (tmpfilenam && *tmpfilenam)
        unlink (tmpfilenam);
     exit (status);
-    return 1;  /* dead code to satisfy the compiler */
 }