From bc7cb1a15a67c859c8c71c4b52bb35fe9425a63d Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 23 Nov 2003 18:04:47 +0000 Subject: new utilities. the .C files compile but are renamed to avoid building automatically. --- src/cmd/freq.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 src/cmd/freq.c (limited to 'src/cmd/freq.c') diff --git a/src/cmd/freq.c b/src/cmd/freq.c new file mode 100644 index 00000000..dfc1e8cf --- /dev/null +++ b/src/cmd/freq.c @@ -0,0 +1,111 @@ +#include +#include +#include + +long count[1<<16]; +Biobuf bout; + +void freq(int, char*); +long flag; +enum +{ + Fdec = 1<<0, + Fhex = 1<<1, + Foct = 1<<2, + Fchar = 1<<3, + Frune = 1<<4, +}; + +void +main(int argc, char *argv[]) +{ + int f, i; + + flag = 0; + Binit(&bout, 1, OWRITE); + ARGBEGIN{ + default: + fprint(2, "freq: unknown option %c\n", ARGC()); + exits("usage"); + case 'd': + flag |= Fdec; + break; + case 'x': + flag |= Fhex; + break; + case 'o': + flag |= Foct; + break; + case 'c': + flag |= Fchar; + break; + case 'r': + flag |= Frune; + break; + }ARGEND + if((flag&(Fdec|Fhex|Foct|Fchar)) == 0) + flag |= Fdec | Fhex | Foct | Fchar; + if(argc < 1) { + freq(0, "-"); + exits(0); + } + for(i=0; i= 0x7f && i < 0xa0 || + i > 0xff && !(flag & Frune)) + Bprint(&bout, "- "); + else + Bprint(&bout, "%C ", (int)i); + } + Bprint(&bout, "%8ld\n", count[i]); + } + Bflush(&bout); +} -- cgit v1.2.3