Subject: off_t and int/long
To: None <port-i386@NetBSD.ORG>
From: Hiroyuki Ito <hiroy@netcom.com>
List: port-i386
Date: 05/18/1996 10:19:22
% cat xxx.c
/* */
#include <stdio.h>
long b = 1 << 24;
u_long c = 1 << 9;
int d;
void
f(off_t a)
{
printf("a=0x%016qx\n", a);
}
int
main()
{
for(d = 1; d >= -1; d -= 2) {
f(b * c + d);
f((off_t)(b * c + d));
f((off_t)b * c + d);
f(b * (off_t)c + d);
f(b * c + (off_t)d);
}
return (0);
}
% cc xxx.c
% ./a.out
a=0x0000000000000001
a=0x0000000000000001
a=0x0000000200000001
a=0x0000000200000001
a=0x0000000000000001
a=0x00000000ffffffff
a=0x00000000ffffffff
a=0x00000001ffffffff
a=0x00000001ffffffff
a=0xffffffffffffffff
%
Hiroyuki Ito