X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/eb9d95f038fd0268a821ab332df24ce2592b7482..2b5801d1615e48322ba25116e4fbbbf7936aec03:/uip/mhlsbr.c diff --git a/uip/mhlsbr.c b/uip/mhlsbr.c index 8f46ebbb..5dbf341c 100644 --- a/uip/mhlsbr.c +++ b/uip/mhlsbr.c @@ -288,7 +288,7 @@ static unsigned int wid; static char *ovtxt; -static unsigned char *onelp; +static char *onelp; static char *parptr; @@ -1164,7 +1164,8 @@ mcomp_format (struct mcomp *c1, struct mcomp *c2) if (!cp[1]) *cp = 0; - fmt_scan (c1->c_fmt, buffer, sizeof buffer - 1, sizeof buffer - 1, dat); + fmt_scan (c1->c_fmt, buffer, sizeof buffer - 1, sizeof buffer - 1, + dat, NULL); /* Don't need to append a newline, dctime() already did */ c2->c_text = getcpy (buffer); @@ -1197,7 +1198,8 @@ mcomp_format (struct mcomp *c1, struct mcomp *c2) p->pq_error = NULL; } - fmt_scan (c1->c_fmt, buffer, sizeof buffer - 1, sizeof buffer - 1, dat); + fmt_scan (c1->c_fmt, buffer, sizeof buffer - 1, sizeof buffer - 1, + dat, NULL); if (*buffer) { if (c2->c_text) c2->c_text = add (",\n", c2->c_text); @@ -1278,7 +1280,7 @@ static void putcomp (struct mcomp *c1, struct mcomp *c2, int flag) { int count, cchdr; - unsigned char *cp; + char *cp; cchdr = 0; lm = 0; @@ -1316,8 +1318,8 @@ putcomp (struct mcomp *c1, struct mcomp *c2, int flag) if (!(c1->c_flags & HDROUTPUT) && !(c1->c_flags & NOCOMPONENT)) { if (c1->c_flags & UPPERCASE) /* uppercase component also */ for (cp = (c1->c_text ? c1->c_text : c1->c_name); *cp; cp++) - if (islower (*cp)) - *cp = toupper (*cp); + if (islower ((unsigned char) *cp)) + *cp = toupper ((unsigned char) *cp); putstr (c1->c_text ? c1->c_text : c1->c_name, c1->c_flags); if (flag != BODYCOMP) { putstr (": ", c1->c_flags); @@ -1339,8 +1341,8 @@ putcomp (struct mcomp *c1, struct mcomp *c2, int flag) && !(c2->c_flags & NOCOMPONENT)) { if (c1->c_flags & UPPERCASE) for (cp = c2->c_name; *cp; cp++) - if (islower (*cp)) - *cp = toupper (*cp); + if (islower ((unsigned char) *cp)) + *cp = toupper ((unsigned char) *cp); putstr (c2->c_name, c1->c_flags); putstr (": ", c1->c_flags); if (!(c1->c_flags & SPLIT)) @@ -1353,8 +1355,8 @@ putcomp (struct mcomp *c1, struct mcomp *c2, int flag) } if (c1->c_flags & UPPERCASE) for (cp = c2->c_text; *cp; cp++) - if (islower (*cp)) - *cp = toupper (*cp); + if (islower ((unsigned char) *cp)) + *cp = toupper ((unsigned char) *cp); count = 0; if (cchdr) { @@ -1401,7 +1403,7 @@ oneline (char *stuff, long flags) term = 0; if (flags & COMPRESS) { for (spc = 1, cp = ret; *onelp; onelp++) - if (isspace (*onelp)) { + if (isspace ((unsigned char) *onelp)) { if (*onelp == '\n' && (!onelp[1] || (flags & ADDRFMT))) { term = '\n'; *onelp++ = 0; @@ -1860,18 +1862,17 @@ filterbody (struct mcomp *c1, char *buf, int bufsz, int state, FILE *fp, */ switch (filterpid = fork()) { - char **args; + char **args, *program; struct arglist *a; - int i, dat[5], s; + int i, dat[5], s, argp; case 0: /* - * Allocate an argument array for us + * Configure an argument array for us */ - args = (char **) mh_xmalloc((filter_nargs + 2) * sizeof(char *)); - args[0] = formatproc; - args[filter_nargs + 1] = NULL; + args = argsplit(formatproc, &program, &argp); + args[argp + filter_nargs] = NULL; dat[0] = 0; dat[1] = 0; dat[2] = 0; @@ -1882,9 +1883,9 @@ filterbody (struct mcomp *c1, char *buf, int bufsz, int state, FILE *fp, * Pull out each argument and scan them. */ - for (a = arglist_head, i = 1; a != NULL; a = a->a_next, i++) { + for (a = arglist_head, i = argp; a != NULL; a = a->a_next, i++) { args[i] = mh_xmalloc(BUFSIZ); - fmt_scan(a->a_fmt, args[i], BUFSIZ - 1, BUFSIZ, dat); + fmt_scan(a->a_fmt, args[i], BUFSIZ - 1, BUFSIZ, dat, NULL); /* * fmt_scan likes to put a trailing newline at the end of the * format string. If we have one, get rid of it.