{ "filter filterfile", 0 },
#define NFILTSW 1
{ "nofilter", 0 },
-#define REMVSW 2
- { "remove", 0 },
-#define NREMVSW 3
- { "noremove", 0 },
-#define VERBSW 4
+#define VERBSW 2
{ "verbose", 0 },
-#define NVERBSW 5
+#define NVERBSW 3
{ "noverbose", 0 },
-#define WATCSW 6
+#define WATCSW 4
{ "watch", 0 },
-#define NWATCSW 7
+#define NWATCSW 5
{ "nowatch", 0 },
-#define BACKSW 8
+#define BACKSW 6
{ "backup", 0 },
-#define NBACKSW 9
+#define NBACKSW 7
{ "nobackup", 0 },
-#define ALIASW 10
+#define ALIASW 8
{ "alias aliasfile", 0 },
-#define NALIASW 11
+#define NALIASW 9
{ "noalias", 0 },
-#define VERSIONSW 12
+#define VERSIONSW 10
{ "version", 0 },
-#define HELPSW 13
+#define HELPSW 11
{ "help", 0 },
-#define DEBUGSW 14
+#define DEBUGSW 12
{ "debug", -5 },
-#define DISTSW 15
+#define DISTSW 13
{ "dist", -4 }, /* interface from dist */
-#define PUSHSW 16 /* fork to sendmail then exit */
+#define PUSHSW 14 /* fork to sendmail then exit */
{ "push", -4 },
-#define NPUSHSW 17 /* exec sendmail */
+#define NPUSHSW 15 /* exec sendmail */
{ "nopush", -6 },
-#define LIBSW 19
+#define LIBSW 16
{ "library directory", -7 },
{ NULL, 0 }
};
static int badmsg = 0; /* message has bad semantics */
static int verbose = 0; /* spell it out */
static int debug = 0; /* debugging post */
-static int rmflg = 1; /* remove temporary file when done */
static int watch = 0; /* watch the delivery process */
-static int backflg = 0; /* rename input file as *.bak when done */
+static int backflg = 0; /* prepend backup prefix to input file when done */
static int pushflg = 0; /* if going to fork to sendmail */
static int aliasflg = 0; /* if going to process aliases */
filter = NULL;
continue;
- case REMVSW:
- rmflg++;
- continue;
- case NREMVSW:
- rmflg = 0;
- continue;
-
case BACKSW:
backflg++;
continue;
}
break;
}
-
fclose(in);
+
if (backflg) {
strncpy(buf, m_backup(msg), sizeof(buf));
if (rename(msg, buf) == NOTOK)
}
if (debug) {
+ /* stop here */
done(0);
- } else {
- fclose(out);
}
+ fclose(out);
+
/* process Fcc */
for (i=0; i<fccind; i++) {
fcc(tmpfil, fccfold[i]);
** re-open the temp file, unlink it and exec sendmail, giving it
** the msg temp file as std in.
*/
- if (freopen(tmpfil, "r", stdin) == NULL)
+ if (!freopen(tmpfil, "r", stdin)) {
adios(tmpfil, "can't reopen for sendmail");
- if (rmflg)
- unlink(tmpfil);
+ }
+ unlink(tmpfil);
argp = sargv;
*argp++ = "send-mail";