{ "watch", 0 },
#define NWATCSW 5
{ "nowatch", 0 },
-#define BACKSW 6
- { "backup", 0 },
-#define NBACKSW 7
- { "nobackup", 0 },
-#define ALIASW 8
+#define ALIASW 6
{ "alias aliasfile", 0 },
-#define NALIASW 9
+#define NALIASW 7
{ "noalias", 0 },
-#define VERSIONSW 10
+#define VERSIONSW 8
{ "version", 0 },
-#define HELPSW 11
+#define HELPSW 9
{ "help", 0 },
-#define DEBUGSW 12
+#define DEBUGSW 10
{ "debug", -5 },
-#define DISTSW 13
+#define DISTSW 11
{ "dist", -4 }, /* interface from dist */
-#define PUSHSW 14 /* fork to sendmail then exit */
+#define PUSHSW 12 /* fork to sendmail then exit */
{ "push", -4 },
-#define NPUSHSW 15 /* exec sendmail */
+#define NPUSHSW 13 /* exec sendmail */
{ "nopush", -6 },
-#define LIBSW 16
+#define LIBSW 14
{ "library directory", -7 },
{ NULL, 0 }
};
static int verbose = 0; /* spell it out */
static int debug = 0; /* debugging post */
static int watch = 0; /* watch the delivery process */
-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 */
static char tmpfil[] = "/tmp/pstXXXXXX";
-static char from[BUFSIZ]; /* my network address */
-static char signature[BUFSIZ]; /* my signature */
static char *filter = NULL; /* the filter for BCC'ing */
static char *subject = NULL; /* the subject field for BCC'ing */
static char *fccfold[FCCS]; /* foldernames for FCC'ing */
** static prototypes
*/
static void putfmt(char *, char *, FILE *);
-static void start_headers(void);
static void finish_headers(FILE *);
static int get_header(char *, struct headers *);
static void putadr(char *, struct mailname *);
if (context_foil(NULL) == -1)
done(1);
- mts_init(invo_name);
arguments = getarguments(invo_name, argc, argv, 0);
argp = arguments;
filter = NULL;
continue;
- case BACKSW:
- backflg++;
- continue;
- case NBACKSW:
- backflg = 0;
- continue;
-
case VERBSW:
verbose++;
continue;
if ((in = fopen(msg, "r")) == NULL)
adios(msg, "unable to open");
- start_headers();
if (debug) {
verbose++;
out = stdout;
}
fclose(in);
- if (backflg) {
- strncpy(buf, m_backup(msg), sizeof(buf));
- if (rename(msg, buf) == NOTOK)
- advise(buf, "unable to rename %s to", msg);
- }
-
if (debug) {
/* stop here */
done(0);
/*
-** Construct signature name
+** Add yet missing headers.
*/
static void
-start_headers(void)
+finish_headers(FILE *out)
{
char *cp;
+ char from[BUFSIZ]; /* my network address */
+ char signature[BUFSIZ]; /* my signature */
+ char *resentstr = (msgstate == resent) ? "Resent-" : "";
+
+ if (!(msgflags & MDAT)) {
+ fprintf(out, "%sDate: %s\n", resentstr, dtimenow(0));
+ }
strncpy(from, getusername(), sizeof(from));
if ((cp = getfullname()) && *cp) {
} else {
snprintf(signature, sizeof(signature), "%s", from);
}
-}
-
-
-/*
-** Add yet missing headers.
-*/
-static void
-finish_headers(FILE *out)
-{
- char *resentstr = (msgstate == resent) ? "Resent-" : "";
-
- if (!(msgflags & MDAT)) {
- fprintf(out, "%sDate: %s\n", resentstr, dtimenow(0));
- }
if (!(msgflags & MFRM)) {
fprintf(out, "%sFrom: %s\n", resentstr, signature);
} else {
- /* Add a Sender: header in case the From: header is fake. */
+ /* In case the From: header contains multiple addresses. */
fprintf(out, "%sSender: %s\n", resentstr, from);
}
#ifdef notdef