]> git.ipfire.org Git - thirdparty/gcc.git/blob - libio/dbz/byteflip.c
Initial revision
[thirdparty/gcc.git] / 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 }