| static unsigned short | |
| foo (unsigned char *x, int y) | |
| { | |
| unsigned short r = 0; | |
| int i; | |
| for (i = 0; i < y; i++) | |
| r += x[i]; | |
| return r; | |
| } | |
| int baz (int, unsigned short); | |
| void | |
| bar (unsigned char *x, unsigned char *y) | |
| { | |
| int i; | |
| unsigned short key = foo (x, 0x10000); | |
| baz (0, 0); | |
| for (i = 0; i < 0x80000; i++) | |
| y[i] = x[baz (i, key)]; | |
| } |