*/
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);
}
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 */
}