On Fri, Dec 5, 2008 at 2:14 PM, Sheldon Givens <[EMAIL PROTECTED]> wrote: > Hello everyone, > In the process of migrating the last of a few Linux servers to FreeBSD, we > ran in to a bit of a snag with one of our scripts when BSD wc didn't have an > equivalent to the Linux -L. This flag tells wc to keep track of the longest > line in the input. > > Here's a little diff to add this functionality to BSD wc. > > With this patch, an additional parameter is added to output that shows the > length of the longest line > > My apologies if this is in the wrong format. I don't often post here. > > Happy Holidays, > > Sheldon Givens > > > ---snip--- > 65,66c65,66 > < uintmax_t tlinect, twordct, tcharct; > < int doline, doword, dochar, domulti; > --- >> uintmax_t tlinect, twordct, tcharct, tlongline; >> int doline, doword, dochar, domulti, dolongline; > 78c78 > < while ((ch = getopt(argc, argv, "clmw")) != -1) > --- >> while ((ch = getopt(argc, argv, "clmwL")) != -1) > 93a94,96 >> case 'L': >> dolongline = 1; >> break; > 127a131,132 >> if (dolongline) >> (void)printf(" %7ju", tlongline); > 137c142 > < uintmax_t linect, wordct, charct; > --- >> uintmax_t linect, wordct, charct, llcnt, tmpll; > 146c151 > < linect = wordct = charct = 0; > --- >> linect = wordct = charct = llcnt = tmpll = 0; > 171c176,179 > < if (*p == '\n') > --- >> if (*p == '\n') { >> if (tmpll > llcnt) >> llcnt = tmpll; >> tmpll = 0; > 172a181 >> } else { tmpll++; } > 179a189,192 >> if (dolongline) { >> tlongline = llcnt; >> (void)printf(" %7ju", tlongline); >> } > 197c210 > < return (0); > --- >> return (0); > 231a245 >> tmpll++; > 234c248,251 > < if (wch == L'\n') > --- >> if (wch == L'\n') { >> if (tmpll > llcnt) >> llcnt = tmpll; >> tmpll = 0; > 235a253 >> } > 258a277,280 >> if (dolongline) { >> tlongline = llcnt; >> (void)printf(" %7ju", llcnt - 1); >> } > 266c288 > < (void)fprintf(stderr, "usage: wc [-clmw] [file ...]\n"); > --- >> (void)fprintf(stderr, "usage: wc [-clmwL] [file ...]\n"); > > ---unsnip---
What's the plus side of having this? I can accomplish the same with something like awk without the additional overhead, which would be guaranteed to be portable. -Garrett _______________________________________________ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"