#define QUOTE '\\'
static struct swit mhlswitches[] = {
-#define BELLSW 0
- { "bell", 0 },
-#define NBELLSW 1
- { "nobell", 0 },
-#define CLRSW 2
- { "clear", 0 },
-#define NCLRSW 3
- { "noclear", 0 },
-#define FOLDSW 4
+#define FOLDSW 0
{ "folder +folder", 0 },
-#define FORMSW 5
+#define FORMSW 1
{ "form formfile", 0 },
-#define PROGSW 6
+#define PROGSW 2
{ "moreproc program", 0 },
-#define LENSW 7
+#define LENSW 3
{ "length lines", 0 },
-#define WIDTHSW 8
+#define WIDTHSW 4
{ "width columns", 0 },
-#define SLEEPSW 9
+#define SLEEPSW 5
{ "sleep seconds", 0 },
-#define VERSIONSW 10
+#define VERSIONSW 6
{ "version", 0 },
-#define HELPSW 11
+#define HELPSW 7
{ "help", 0 },
-#define FORW1SW 12
+#define FORW1SW 8
{ "forward", -7 },
-#define FORW2SW 13
+#define FORW2SW 9
{ "forwall", -7 },
-#define DGSTSW 14
+#define DGSTSW 10
{ "digest list", -6 },
-#define VOLUMSW 15
+#define VOLUMSW 11
{ "volume number", -6 },
-#define ISSUESW 16
+#define ISSUESW 12
{ "issue number", -5 },
-#define NBODYSW 17
+#define NBODYSW 13
{ "nobody", -6 },
{ NULL, 0 }
};
#define CLEARTEXT 0x000008 /* cleartext */
#define EXTRA 0x000010 /* an "extra" component */
#define HDROUTPUT 0x000020 /* already output */
-#define CLEARSCR 0x000040 /* clear screen */
-#define LEFTADJUST 0x000080 /* left justify multiple lines */
-#define COMPRESS 0x000100 /* compress text */
-#define ADDRFMT 0x000200 /* contains addresses */
-#define BELL 0x000400 /* sound bell at EOP */
-#define DATEFMT 0x000800 /* contains dates */
-#define FORMAT 0x001000 /* parse address/date/RFC-2047 field */
-#define INIT 0x002000 /* initialize component */
-#define SPLIT 0x004000 /* split headers (don't concatenate) */
-#define NONEWLINE 0x008000 /* don't write trailing newline */
-#define LBITS "\020\01NOCOMPONENT\02UPPERCASE\03CENTER\04CLEARTEXT\05EXTRA\06HDROUTPUT\07CLEARSCR\010LEFTADJUST\011COMPRESS\012ADDRFMT\013BELL\014DATEFMT\015FORMAT\016INIT\017SPLIT\020NONEWLINE"
+#define LEFTADJUST 0x000040 /* left justify multiple lines */
+#define COMPRESS 0x000080 /* compress text */
+#define ADDRFMT 0x000100 /* contains addresses */
+#define DATEFMT 0x000200 /* contains dates */
+#define FORMAT 0x000400 /* parse address/date/RFC-2047 field */
+#define INIT 0x000800 /* initialize component */
+#define SPLIT 0x001000 /* split headers (don't concatenate) */
+#define NONEWLINE 0x002000 /* don't write trailing newline */
+#define LBITS "\020\01NOCOMPONENT\02UPPERCASE\03CENTER\04CLEARTEXT\05EXTRA\06HDROUTPUT\07LEFTADJUST\010COMPRESS\011ADDRFMT\012DATEFMT\013FORMAT\014INIT\015SPLIT\016NONEWLINE"
#define GFLAGS (NOCOMPONENT | UPPERCASE | CENTER | LEFTADJUST | COMPRESS | SPLIT)
struct mcomp {
static struct mcomp *fmttl = NULL;
static struct mcomp global = {
- NULL, NULL, "", NULL, NULL, 0, -1, 80, -1, 40, BELL, 0
+ NULL, NULL, "", NULL, NULL, 0, -1, 80, -1, 40, 0, 0
};
static struct mcomp holder = {
{ "nouppercase", 0, UPPERCASE },
{ "center", CENTER, 0 },
{ "nocenter", 0, CENTER },
- { "clearscreen", CLEARSCR, 0 },
- { "noclearscreen", 0, CLEARSCR },
- { "noclear", 0, CLEARSCR },
{ "leftadjust", LEFTADJUST, 0 },
{ "noleftadjust", 0, LEFTADJUST },
{ "compress", COMPRESS, 0 },
{ "split", SPLIT, 0 },
{ "nosplit", 0, SPLIT },
{ "addrfield", ADDRFMT, DATEFMT },
- { "bell", BELL, 0 },
- { "nobell", 0, BELL },
{ "datefield", DATEFMT, ADDRFMT },
{ "newline", 0, NONEWLINE },
{ "nonewline", NONEWLINE, 0 },
};
-static int bellflg = 0;
-static int clearflg = 0;
static int dobody = 1;
static int forwflg = 0;
static int forwall = 0;
void m_pclose(void);
-void clear_screen(void); /* from termsbr.c */
int SOprintf(char *, ...); /* from termsbr.c */
int sc_width(void); /* from termsbr.c */
int sc_length(void); /* from termsbr.c */
print_version(invo_name);
done(1);
- case BELLSW:
- bellflg = 1;
- continue;
- case NBELLSW:
- bellflg = -1;
- continue;
-
- case CLRSW:
- clearflg = 1;
- continue;
- case NCLRSW:
- clearflg = -1;
- continue;
-
case FOLDSW:
if (!(folder = *argp++) || *folder == '-')
adios(NULL, "missing argument to %s",
forwall++; /* fall */
case FORW1SW:
forwflg++;
- clearflg = -1;/* XXX */
continue;
case NBODYSW:
adios("output", "error writing");
}
- if (clearflg > 0 && ontty == NOTTY)
- clear_screen();
-
if (ontty == PITTY)
m_pclose();
global.c_cwidth = -1;
if ((i = sc_length()) > 5)
global.c_length = i - 1;
- global.c_flags = BELL; /* BELL is default */
+ global.c_flags = 0;
*(ip = ignores) = NULL;
while (vfgets(fp, &ap) == OK) {
}
out:
- if (clearflg == 1) {
- global.c_flags |= CLEARSCR;
- } else {
- if (clearflg == -1)
- global.c_flags &= ~CLEARSCR;
- }
-
- switch (bellflg) { /* command line may override format file */
- case 1:
- global.c_flags |= BELL;
- break;
- case -1:
- global.c_flags &= ~BELL;
- break;
- }
-
if (length)
global.c_length = length;
if (width)
printf(" Message %d", ofilen);
printf("\n\n");
}
- } else {
- switch (ontty) {
- case PITTY:
- if (ofilec > 1) {
- if (ofilen > 1) {
- if ((global.c_flags & CLEARSCR))
- clear_screen();
- else
- printf("\n\n\n");
- }
- printf(">>> %s\n\n", mname);
- }
- break;
-
- default:
- if (ofilec > 1) {
- if (ofilen > 1) {
- printf("\n\n\n");
- if (clearflg > 0)
- clear_screen();
- }
- printf(">>> %s\n\n", mname);
- }
- break;
+ } else if (ofilec > 1) {
+ if (ofilen > 1) {
+ printf("\n\n\n");
}
+ printf(">>> %s\n\n", mname);
}
for (state = FLD;;) {
row++;
if (row != global.c_length)
break;
- if (global.c_flags & BELL)
- putchar('\007');
fflush(stdout);
buf[0] = 0;
read(fileno(stdout), buf, sizeof(buf));
if (strchr(buf, '\n')) {
- if (global.c_flags & CLEARSCR)
- clear_screen();
row = 0;
} else {
putchar('\n');