Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / libio / dbz / byteflip.c
1 #include <stdio.h>
2
3 #define MAXWORD 32
4
5 int
6 main(argc, argv)
7 int argc;
8 char *argv[];
9 {
10         register int len;
11         int inmap[MAXWORD];
12         int outmap[MAXWORD];
13         char in[MAXWORD];
14         char out[MAXWORD];
15         register int i;
16         register int a;
17
18         a = 1;
19         len = atoi(argv[a++]);
20         if (len > MAXWORD)
21                 abort();        /* kind of drastic... */
22         for (i = 0; i < len; i++)
23                 inmap[i] = atoi(argv[a++]);
24         if (atoi(argv[a++]) != len)
25                 abort();
26         for (i = 0; i < len; i++)
27                 outmap[i] = atoi(argv[a++]);
28
29         while (fread(in, 1, len, stdin) == len) {
30                 for (i = 0; i < len; i++)
31                         out[outmap[i]] = in[inmap[i]];
32                 fwrite(out, 1, len, stdout);
33         }
34 #ifdef DBZ_FINISH
35         DBZ_FINISH;
36 #endif
37         exit(0);
38 }