Cameron Patrick wrote: > On Fri, Dec 12, 2003 at 01:15:09PM -0500, Joey Hess wrote: > > | According to Bastian, the "new" (circa early November) libc broke it. > | BLKGETSIZE64 is defined in that file using the _IOR macro. Apparently > | that macro has changed so the third argument is expected to be a type, > | not just a size, and busybox uses an 8. Seems u64 would be the right > | type, but that type is not available (only in kernel space). If I put in > | unsigned long long, it at least builds; not knowing a great deal about C > | type sizes, I dunno if it will work on all arches. > > I used size_t in my patch (attached to bug #223773), because that's > what the kernel headers have. > > ([EMAIL PROTECTED] ~) grep BLKGETSIZE64 -r /usr/include > /usr/include/linux/fs.h:#define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return > device size in bytes (u64 *arg) */
I wonder why this doesn't break all 32bit arches, where sizeof(size_t) is 4. The portable solution would be to #include <stdint.h> and then use uint64_t. Thiemo -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]