1extern void abort(void);
2extern void exit(int);
3
4void
5foo (char *bp, unsigned n)
6{
7  register char c;
8  register char *ep = bp + n;
9  register char *sp;
10
11  while (bp < ep)
12    {
13      sp = bp + 3;
14      c = *sp;
15      *sp = *bp;
16      *bp++ = c;
17      sp = bp + 1;
18      c = *sp;
19      *sp = *bp;
20      *bp++ = c;
21      bp += 2;
22    }
23}
24
25int main(void)
26{
27  int one = 1;
28
29  if (sizeof(int) != 4 * sizeof(char))
30    exit(0);
31
32  foo((char *)&one, sizeof(one));
33  foo((char *)&one, sizeof(one));
34
35  if (one != 1)
36    abort();
37
38  exit(0);
39}
40