#define QUOTE '\\'
-static struct swit mhlswitches[] = {
+static struct swit switches[] = {
#define FORMSW 0
{ "form formfile", 0 },
#define WIDTHSW 1
{ "width columns", 0 },
-#define SLEEPSW 2
- { "sleep seconds", 0 },
-#define VERSIONSW 3
+#define VERSIONSW 2
{ "Version", 0 },
-#define HELPSW 4
+#define HELPSW 3
{ "help", 0 },
-#define FORW1SW 5
+#define FORW1SW 4
{ "forward", -7 },
-#define FORW2SW 6
+#define FORW2SW 5
{ "forwall", -7 },
-#define DGSTSW 7
- { "digest list", -6 },
-#define VOLUMSW 8
- { "volume number", -6 },
-#define ISSUESW 9
- { "issue number", -5 },
-#define NBODYSW 10
+#define NBODYSW 6
{ "nobody", -6 },
{ NULL, 0 }
};
static int forwflg = 0;
static int forwall = 0;
-static int sleepsw = NOTOK;
-
-static char *digest = NULL;
-static int volume = 0;
-static int issue = 0;
-
static int exitstat = 0;
static int mhldebug = 0;
static jmp_buf env;
static jmp_buf mhlenv;
-static char delim3[] =
-"\n----------------------------------------------------------------------\n\n";
-static char delim4[] = "\n------------------------------\n\n";
-
static FILE *(*mhl_action) () = (FILE *(*) ()) 0;
char buf[BUFSIZ], *files[MAXARGS];
char **argp, **arguments;
-#ifdef LOCALE
setlocale(LC_ALL, "");
-#endif
-
invo_name = mhbasename(argv[0]);
/* read user profile/context */
while ((cp = *argp++)) {
if (*cp == '-') {
- switch (smatch(++cp, mhlswitches)) {
+ switch (smatch(++cp, switches)) {
case AMBIGSW:
- ambigsw(cp, mhlswitches);
+ ambigsw(cp, switches);
done(1);
case UNKWNSW:
adios(NULL, "-%s unknown\n", cp);
case HELPSW:
snprintf(buf, sizeof(buf), "%s [switches] [files ...]", invo_name);
- print_help(buf, mhlswitches, 1);
+ print_help(buf, switches, 1);
done(1);
case VERSIONSW:
print_version(invo_name);
argp[-2]);
continue;
- case SLEEPSW:
- if (!(cp = *argp++) || *cp == '-')
- adios(NULL, "missing argument to %s",
- argp[-2]);
- sleepsw = atoi(cp); /* ZERO ok! */
- continue;
-
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
adios(NULL, "missing argument to %s",
argp[-2], cp);
continue;
- case DGSTSW:
- if (!(digest = *argp++) ||
- *digest == '-')
- adios(NULL, "missing argument to %s",
- argp[-2]);
- continue;
- case ISSUESW:
- if (!(cp = *argp++) || *cp == '-')
- adios(NULL, "missing argument to %s",
- argp[-2]);
- if ((issue = atoi(cp)) < 1)
- adios(NULL, "bad argument %s %s",
- argp[-2], cp);
- continue;
- case VOLUMSW:
- if (!(cp = *argp++) || *cp == '-')
- adios(NULL, "missing argument to %s",
- argp[-2]);
- if ((volume = atoi(cp)) < 1)
- adios(NULL, "bad argument %s %s",
- argp[-2], cp);
- continue;
-
case FORW2SW:
forwall++; /* fall */
case FORW1SW:
}
if (forwall) {
- if (digest) {
- printf("%s", delim4);
- if (volume == 0) {
- snprintf(buf, sizeof(buf),
- "End of %s Digest\n", digest);
- } else {
- snprintf(buf, sizeof(buf), "End of %s Digest [Volume %d Issue %d]\n", digest, volume, issue);
- }
- i = strlen(buf);
- for (cp = buf + i; i > 1; i--)
- *cp++ = '*';
- *cp++ = '\n';
- *cp = 0;
- printf("%s", buf);
- } else
- printf("\n------- End of Forwarded Message%s\n\n",
+ printf("\n------- End of Forwarded Message%s\n\n",
vecp > 1 ? "s" : "");
}
char **ip, name[NAMESZ], buf[BUFSIZ];
if (forwall) {
- if (digest)
- printf("%s", ofilen == 1 ? delim3 : delim4);
- else {
- printf("\n-------");
- if (ofilen == 1)
- printf(" Forwarded Message%s",
- ofilec > 1 ? "s" : "");
- else
- printf(" Message %d", ofilen);
- printf("\n\n");
- }
+ printf("\n-------");
+ if (ofilen == 1)
+ printf(" Forwarded Message%s", ofilec > 1 ? "s" : "");
+ else
+ printf(" Message %d", ofilen);
+ printf("\n\n");
} else if (ofilec > 1) {
if (ofilen > 1) {
printf("\n\n\n");