[go: up one dir, main page]

File: byteflip.c

package info (click to toggle)
suck 4.3.2-15
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 1,568 kB
  • ctags: 1,448
  • sloc: ansic: 12,075; perl: 528; sh: 363; makefile: 350; java: 144
file content (34 lines) | stat: -rw-r--r-- 614 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>

#define	MAXWORD	32

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);
	}
	exit(0);
}