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