diff options
author | David E. O'Brien <obrien@FreeBSD.org> | 1999-10-04 08:17:54 +0000 |
---|---|---|
committer | David E. O'Brien <obrien@FreeBSD.org> | 1999-10-04 08:17:54 +0000 |
commit | 04626017cb749d6f136095d08849d1d014b5fb40 (patch) | |
tree | 50ded16eb354bed37a52d5661568400841645361 /contrib/libio/dbz/byteflip.c | |
parent | 43d36c40e70660b96e7d58f04f39090aa8ce602e (diff) |
Virgin import of EGCS 1.1.2's libio -- the C++ iostream facility.
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=51922
Diffstat (limited to 'contrib/libio/dbz/byteflip.c')
-rw-r--r-- | contrib/libio/dbz/byteflip.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/libio/dbz/byteflip.c b/contrib/libio/dbz/byteflip.c new file mode 100644 index 000000000000..d54c6591fa18 --- /dev/null +++ b/contrib/libio/dbz/byteflip.c @@ -0,0 +1,38 @@ +#include <stdio.h> + +#define MAXWORD 32 + +int +main(argc, argv) +int argc; +char *argv[]; +{ + register int len; + int inmap[MAXWORD]; + int outmap[MAXWORD]; + char in[MAXWORD]; + char out[MAXWORD]; + register int i; + register int a; + + a = 1; + len = atoi(argv[a++]); + if (len > MAXWORD) + abort(); /* kind of drastic... */ + for (i = 0; i < len; i++) + inmap[i] = atoi(argv[a++]); + if (atoi(argv[a++]) != len) + abort(); + for (i = 0; i < len; i++) + outmap[i] = atoi(argv[a++]); + + while (fread(in, 1, len, stdin) == len) { + for (i = 0; i < len; i++) + out[outmap[i]] = in[inmap[i]]; + fwrite(out, 1, len, stdout); + } +#ifdef DBZ_FINISH + DBZ_FINISH; +#endif + exit(0); +} |