| extern void exit (int); |
| extern void abort (void); |
| |
| volatile int i; |
| unsigned char *volatile cp; |
| unsigned char d[32] = { 0 }; |
| |
| int |
| main (void) |
| { |
| unsigned char c[32] = { 0 }; |
| unsigned char *p = d + i; |
| int j; |
| for (j = 0; j < 30; j++) |
| { |
| int x = 0xff; |
| int y = *++p; |
| switch (j) |
| { |
| case 1: x ^= 2; break; |
| case 2: x ^= 4; break; |
| case 25: x ^= 1; break; |
| default: break; |
| } |
| c[j] = y | x; |
| cp = p; |
| } |
| if (c[0] != 0xff |
| || c[1] != 0xfd |
| || c[2] != 0xfb |
| || c[3] != 0xff |
| || c[4] != 0xff |
| || c[25] != 0xfe |
| || cp != d + 30) |
| abort (); |
| exit (0); |
| } |