On Thursday 14 September 2006 14:49 Eric Blake wrote:
> According to Philipp Marek on 9/13/2006 1:05 PM:
> > If I'm doing
> > ino_t ino;
> > char *name;
> > sprintf("%Lu %s", ino, name);
> > that works fine for 64bit systems, but writes trash for sizeof(ino_t) ==
> > 4.
>
> Gnulib provides umaxtostr.c, which is a convenient way of printing any
> integer of unknown width:
>
> char buf[INT_BUFSIZE_BOUND (uintmax_t)];
> sprintf("%s %s", umaxtostr(ino, buf), name);
But then I'd need a few of these buffers in a sprintf() call with 15
arguments, and if umaxtostr() is not available on solaris etc. I can't use
it ...
But that's an idea - writing my own umaxtostr() function. Maybe that's an
idea.
Or I cast everything to an (long long) type ... then it should work, too.
Thank you for this answer!
Regards,
Phil
--
Versioning your /etc, /home or even your whole installation?
Try fsvs (fsvs.tigris.org)!
_______________________________________________
Autoconf mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/autoconf