* 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>
#include <h/signals.h>
#include <errno.h>
#include <signal.h>
-#include <zotnet/mts/mts.h>
+#include <h/mts.h>
static struct swit switches[] = {
#define CRETSW 0
{ 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)
struct msgs *mp;
struct stat st;
+ done=unlink_done;
+
#ifdef LOCALE
setlocale(LC_ALL, "");
#endif
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);
}
* 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);
/*
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 */
}