Guy Harris wrote:
Jeff Morriss wrote:
Guy Harris wrote:
Jeff Morriss wrote:
Problem is that how you print 64-bit numbers varies. %llu doesn't
always work
...and neither does "long long" as a data type.
(for example the Windoze buildbot is now red). Instead the
PRI*64 macros should be used.
Or the G_GINT64_MODIFIER macro. I seem to remember that there was an
issue a while ago where the native *printf on Windows used %I64[doxu]
but the Windows GLib *printf routines used %ll[doxu], or something such
as that (because it had its own formatting routine).
I remembered correctly:
http://www.ethereal.com/lists/ethereal-dev/200509/msg00368.html
although, unfortunately, GLib 1.2[.x] has some severe breakage for
64-bit printing on Windows:
http://www.ethereal.com/lists/ethereal-dev/200509/msg00370.html
[...]
so we may be doomed to having formatting of 64-bit values not work quite
right on Windows builds with GTK+ 1.2[.x].
[...]
Should the PRI*64 macros (which I just recently started adding--meaning
there were some there before, it's just that only recently did /I/ add
some) be replaced with G_GINT64_MODIFIER?
Yes (except for calls that use printf/fprintf/sprintf/snprintf rather
than the GLib equivalents, if any; there should be as few of those as
possible). We should also update the documentation.
Possibly stupid question (and a bit too late since you already did the
above but it might be worth it for the simplification for future
coders): do we still need GTK1.2 on Windows? I (and some others) still
need it on Unix (because of the massive list of dependencies for GTK2 or
just plain old systems) but does anybody actually use the GTK1.2 Windows
version?