Fix the test for sasl.h to look in the correct place.
[mmh] / uip / rcvstore.c
index 3e0961e..668eb86 100644 (file)
@@ -48,7 +48,7 @@ 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)
@@ -173,9 +173,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 +226,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 */
 }