X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhl.c;h=4c2f06ee642026043e10a83f1add069c8845e78e;hp=e778fc312db8b295cdb84047a25c31c474ebe00b;hb=cebc12618d19409a25e332eef13e825df15a9bc2;hpb=943765e7ac5693ae177fd8d2b5a2440e53ce816e diff --git a/uip/mhl.c b/uip/mhl.c index e778fc3..4c2f06e 100644 --- a/uip/mhl.c +++ b/uip/mhl.c @@ -47,27 +47,25 @@ static struct swit mhlswitches[] = { { "form formfile", 0 }, #define PROGSW 2 { "moreproc program", 0 }, -#define LENSW 3 - { "length lines", 0 }, -#define WIDTHSW 4 +#define WIDTHSW 3 { "width columns", 0 }, -#define SLEEPSW 5 +#define SLEEPSW 4 { "sleep seconds", 0 }, -#define VERSIONSW 6 +#define VERSIONSW 5 { "version", 0 }, -#define HELPSW 7 +#define HELPSW 6 { "help", 0 }, -#define FORW1SW 8 +#define FORW1SW 7 { "forward", -7 }, -#define FORW2SW 9 +#define FORW2SW 8 { "forwall", -7 }, -#define DGSTSW 10 +#define DGSTSW 9 { "digest list", -6 }, -#define VOLUMSW 11 +#define VOLUMSW 10 { "volume number", -6 }, -#define ISSUESW 12 +#define ISSUESW 11 { "issue number", -5 }, -#define NBODYSW 13 +#define NBODYSW 12 { "nobody", -6 }, { NULL, 0 } }; @@ -99,7 +97,6 @@ struct mcomp { int c_ovoff; /* overflow indentation */ int c_width; /* width of field */ int c_cwidth; /* width of component */ - int c_length; /* length in lines */ long c_flags; struct mcomp *c_next; }; @@ -110,11 +107,11 @@ static struct mcomp *fmthd = NULL; static struct mcomp *fmttl = NULL; static struct mcomp global = { - NULL, NULL, "", NULL, NULL, 0, -1, 80, -1, 40, 0, 0 + NULL, NULL, "", NULL, NULL, 0, -1, 80, -1, 0, 0 }; static struct mcomp holder = { - NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, NOCOMPONENT, 0 + NULL, NULL, NULL, NULL, NULL, 0, 0, 0, 0, NOCOMPONENT, 0 }; struct pair { @@ -183,11 +180,9 @@ static int mhldebug = 0; #define NOTTY 0 static int ontty = NOTTY; -static int row; static int column; static int lm; -static int llim; static int ovoff; static int term; static int wid; @@ -221,7 +216,7 @@ static FILE *(*mhl_action) () = (FILE *(*) ()) 0; /* ** prototypes */ -static void mhl_format(char *, int, int); +static void mhl_format(char *, int); static int evalvar(struct mcomp *); static int ptoi(char *, int *); static int ptos(char *, char **); @@ -247,15 +242,12 @@ static void m_popen(char *); void m_pclose(void); -int SOprintf(char *, ...); /* from termsbr.c */ int sc_width(void); /* from termsbr.c */ -int sc_length(void); /* from termsbr.c */ int main(int argc, char **argv) { - int length = 0; int i, width = 0, vecp = 0; char *cp, *folder = NULL, *form = NULL; char buf[BUFSIZ], *files[MAXARGS]; @@ -318,14 +310,6 @@ main(int argc, char **argv) argp[-2]); continue; - case LENSW: - if (!(cp = *argp++) || *cp == '-') - adios(NULL, "missing argument to %s", - argp[-2]); - if ((length = atoi(cp)) < 1) - adios(NULL, "bad argument %s %s", - argp[-2], cp); - continue; case WIDTHSW: if (!(cp = *argp++) || *cp == '-') adios(NULL, "missing argument to %s", @@ -387,7 +371,7 @@ main(int argc, char **argv) ontty = NOTTY; } - mhl_format(form ? form : mhlformat, length, width); + mhl_format(form ? form : mhlformat, width); if (vecp == 0) { process(folder, NULL, 1, vecp = 1); @@ -429,7 +413,7 @@ main(int argc, char **argv) static void -mhl_format(char *file, int length, int width) +mhl_format(char *file, int width) { int i; char *bp, *cp, **ip; @@ -467,8 +451,6 @@ mhl_format(char *file, int length, int width) if ((i = sc_width()) > 5) global.c_width = i; global.c_cwidth = -1; - if ((i = sc_length()) > 5) - global.c_length = i - 1; global.c_flags = 0; *(ip = ignores) = NULL; @@ -555,18 +537,14 @@ mhl_format(char *file, int length, int width) for (c1 = fmthd; c1; c1 = c1->c_next) { fprintf(stderr, "c1: name=\"%s\" text=\"%s\" ovtxt=\"%s\"\n", c1->c_name, c1->c_text, c1->c_ovtxt); fprintf(stderr, "\tnfs=0x%x fmt=0x%x\n", (unsigned int)(unsigned long) c1->c_nfs, (unsigned int)(unsigned long) c1->c_fmt); - fprintf(stderr, "\toffset=%d ovoff=%d width=%d cwidth=%d length=%d\n", c1->c_offset, c1->c_ovoff, c1->c_width, c1->c_cwidth, c1->c_length); + fprintf(stderr, "\toffset=%d ovoff=%d width=%d cwidth=%d\n", c1->c_offset, c1->c_ovoff, c1->c_width, c1->c_cwidth); fprintf (stderr, "\tflags=%s\n", snprintb(buffer, sizeof(buffer), (unsigned) c1->c_flags, LBITS)); } } out: - if (length) - global.c_length = length; if (width) global.c_width = width; - if (global.c_length < 5) - global.c_length = 10000; if (global.c_width < 5) global.c_width = 10000; } @@ -622,8 +600,6 @@ evalvar(struct mcomp *c1) return ptoi(name, &c1->c_width); if (!mh_strcasecmp(name, "compwidth")) return ptoi(name, &c1->c_cwidth); - if (!mh_strcasecmp(name, "length")) - return ptoi(name, &c1->c_length); for (ap = triples; ap->t_name; ap++) if (!mh_strcasecmp(ap->t_name, name)) { @@ -812,7 +788,7 @@ mhlfile(FILE *fp, char *mname, int ofilen, int ofilec) case BODY: case FILEEOF: - row = column = 0; + column = 0; for (c1 = fmthd; c1; c1 = c1->c_next) { if (c1->c_flags & CLEARTEXT) { putcomp(c1, c1, ONECOMP); @@ -1000,7 +976,7 @@ add_queue(struct mcomp **head, struct mcomp **tail, char *name, c1->c_ovtxt = getcpy(global.c_ovtxt); c1->c_offset = global.c_offset; c1->c_ovoff = global. c_ovoff; - c1->c_width = c1->c_length = 0; + c1->c_width = 0; c1->c_cwidth = global.c_cwidth; c1->c_flags |= global.c_flags & GFLAGS; } @@ -1046,7 +1022,6 @@ putcomp(struct mcomp *c1, struct mcomp *c2, int flag) cchdr = 0; lm = 0; - llim = c1->c_length ? c1->c_length : -1; wid = c1->c_width ? c1->c_width : global.c_width; ovoff = (c1->c_ovoff >= 0 ? c1->c_ovoff : global.c_ovoff) + c1->c_offset; @@ -1220,30 +1195,7 @@ putstr(char *string) static void putch(char ch) { - char buf[BUFSIZ]; - - if (llim == 0) - return; - switch (ch) { - case '\n': - if (llim > 0) - llim--; - column = 0; - row++; - if (row != global.c_length) - break; - fflush(stdout); - buf[0] = 0; - read(fileno(stdout), buf, sizeof(buf)); - if (strchr(buf, '\n')) { - row = 0; - } else { - putchar('\n'); - row = global.c_length / 3; - } - return; - case '\t': column |= 07; column++; @@ -1253,6 +1205,7 @@ putch(char ch) column--; break; + case '\n': case '\r': column = 0; break;