The AS/400 and its current variants are generally
EBCDIC systems, and
 to make things worse if you are using the native C compiler then
 pointers are not the same size as integers.  And I believe that both
 of those are legal for ANSI C. 
The latter certainly is; there need not be _any_ integer type that's
the same size as a pointer, though on most machines there will be.
(Indeed, I _think_ there's no need that there be any integral type
large enough to hold a pointer....)
/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse at 
rodents-montreal.org
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B