Solaris doesn't support "qd" in printf format strings for long long.
All of the other platforms I am aware of also support "lld" (FreeBSD
and Linux) - it is possible that "qd" is still the only option for
true 4.4BSD kernels (qd originated there). OS-dependent flags would
have to be added for those platforms.
Recent man pages of Linux call "qd" deprecated and recommend "lld"
instead. FreeBSD's man pages don't mention "lld" explictly, but
looking at libc/stdio/vfprintf.c from FreeBSD-4.2 shows it has support
for "lld" support in it.
It looks like whichever compiler has longlong uses "qd" - is this
Win32, by any chance? Or, should this be switched to "lld" as well?
-- justin
Index: configure.in
===================================================================
RCS file: /home/cvspublic/apr/configure.in,v
retrieving revision 1.290
diff -u -r1.290 configure.in
--- configure.in 2001/04/12 13:05:38 1.290
+++ configure.in 2001/04/22 06:58:10
@@ -703,7 +703,7 @@
elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long"; then
off_t_fmt='#define APR_OFF_T_FMT "ld"'
elif test "$ac_cv_sizeof_off_t" = "$ac_cv_sizeof_long_long"; then
- off_t_fmt='#define APR_OFF_T_FMT "qd"'
+ off_t_fmt='#define APR_OFF_T_FMT "lld"'
else
off_t_fmt='#error Can not determine the proper size for off_t'
fi
@@ -715,7 +715,7 @@
elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long"; then
os_proc_t_fmt='#define APR_OS_PROC_T_FMT "ld"'
elif test "$ac_cv_sizeof_pid_t" = "$ac_cv_sizeof_long_long"; then
- os_proc_t_fmt='#define APR_OS_PROC_T_FMT "qd"'
+ os_proc_t_fmt='#define APR_OS_PROC_T_FMT "lld"'
else
os_proc_t_fmt='#error Can not determine the proper size for pid_t'
fi