Hrvoje Niksic wrote:
> David Fritz <[EMAIL PROTECTED]> writes:
> 
> > IIUC, GNU coreutils uses uintmax_t to store large numbers relating to
> > the file system and prints them with something like this:
> >
> >    char buf[INT_BUFSIZE_BOUND (uintmax_t)];
> >    printf (_("The file is %s octets long.\n"), umaxtostr (size, buf));
> 
> That's probably the most portable way to do it.

For the time being. However, in C99 %ju is the correct format for printing
uintmax_t. There are systems which have uintmax_t, but don't have the j
modifier, so the whole thing is a problem if you want to write failsafe
configure check. And there might be run-time problems, as well.

> * Change most (all?) occurrences of `long' in the code to `off_t'.  Or
>   should we go the next logical step and just use uintmax_t right
>   away?

Just use off_t.

-- 
 .-.   .-.    Yes, I am an agent of Satan, but my duties are largely
(_  \ /  _)   ceremonial.
     |
     |        [EMAIL PROTECTED]

Reply via email to