Joe Krahn wrote:
> In "util-linux/ipcs.c", gid, uid, pid and mode values are all assumed to be 
> default-size ints. I
> have patched the formats to use long ints, and cast all arguments to longs. 
> This seems to be the
> common approach. The one exception is that I cast arguments with (mode&0777) 
> as default-size ints.
> 
> In reality, most busybox target platforms have the same size for int and 
> long-int, but there are
> some 64-bit platforms where these values really are larger than default ints. 
> The only way to be
> exact is to use macros as in <inttypes.h>, which gets rather ugly. OTOH, that 
> approach might avoid
> unnecessary casting in some case, and might really be a better fit for the 
> very-light-weight design
> goal.
> 

Hi Joe,
your comment is correct: some system have a funny long/int ratio.

the ipcs stuff if only useful in linux context and the current code defines
e.g. uid_t == __kernel_uid32_t == unsigned int
while   __kernel_mode_t ==   unsigned short
long is used only with off_t and time_t

IMHO int is a save bet (what may change in future !). Do you have architecture
where this is a really wrong assumption ?

ntl: we should use %u more often
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to