Remove RCS keywords, since they no longer work after git migration.
[mmh] / uip / rcvstore.c
index 8734ebc..3131076 100644 (file)
@@ -2,7 +2,9 @@
 /*
  * 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.
  */
 
 #include <h/mh.h>
@@ -10,7 +12,7 @@
 #include <h/signals.h>
 #include <errno.h>
 #include <signal.h>
-#include <mts/generic/mts.h>
+#include <h/mts.h>
 
 static struct swit switches[] = {
 #define CRETSW         0
@@ -38,13 +40,13 @@ static struct swit switches[] = {
     { NULL, 0 }
 };
 
-extern int errno;
 
 /*
  * name of temporary file to store incoming message
  */
 static char *tmpfilenam = NULL;
 
+static void unlink_done(int) NORETURN;
 
 int
 main (int argc, char **argv)
@@ -57,6 +59,8 @@ main (int argc, char **argv)
     struct msgs *mp;
     struct stat st;
 
+    done=unlink_done;
+
 #ifdef LOCALE
     setlocale(LC_ALL, "");
 #endif
@@ -131,7 +135,7 @@ main (int argc, char **argv)
            if (folder)
                adios (NULL, "only one folder at a time!");
            else
-               folder = path (cp + 1, *cp == '+' ? TFOLDER : TSUBCWF);
+               folder = pluspath (cp);
        } else {
            adios (NULL, "usage: %s [+folder] [switches]", invo_name);
        }
@@ -167,9 +171,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 */
@@ -199,7 +204,7 @@ main (int argc, char **argv)
      * Link message into folder, and possibly add
      * to the Unseen-Sequence's.
      */
-    if ((msgnum = folder_addmsg (&mp, tmpfilenam, 0, unseensw, 0)) == -1)
+    if ((msgnum = folder_addmsg (&mp, tmpfilenam, 0, unseensw, 0, 0, (char *)0)) == -1)
        done (1);
 
     /*
@@ -219,17 +224,17 @@ main (int argc, char **argv)
     unlink (tmpfilenam);       /* remove temporary file                  */
     tmpfilenam = NULL;
 
-    return done (0);
+    done (0);
+    return 1;
 }
 
 /*
  * Clean up and exit
  */
-int
-done(int status)
+static void
+unlink_done(int status)
 {
     if (tmpfilenam && *tmpfilenam)
        unlink (tmpfilenam);
     exit (status);
-    return 1;  /* dead code to satisfy the compiler */
 }