Add configure support for determining UINT64_FORMAT, the appropriate
snprintf format for uint64 items.
This commit is contained in:
parent
feed7cf1c1
commit
127ea18f48
14
configure
vendored
14
configure
vendored
@ -13659,9 +13659,8 @@ fi
|
||||
|
||||
# If we found "long int" is 64 bits, assume snprintf handles it. If
|
||||
# we found we need to use "long long int", better check. We cope with
|
||||
# snprintfs that use either %lld, %qd, or %I64d as the format. If
|
||||
# neither works, fall back to our own snprintf emulation (which we
|
||||
# know uses %lld).
|
||||
# snprintfs that use %lld, %qd, or %I64d as the format. If none of these
|
||||
# work, fall back to our own snprintf emulation (which we know uses %lld).
|
||||
|
||||
if test "$HAVE_LONG_LONG_INT_64" = yes ; then
|
||||
if test $pgac_need_repl_snprintf = no; then
|
||||
@ -13744,10 +13743,13 @@ esac
|
||||
# Here if we previously decided we needed to use our own snprintf
|
||||
LONG_LONG_INT_FORMAT='%lld'
|
||||
fi
|
||||
LONG_LONG_UINT_FORMAT=`echo "$LONG_LONG_INT_FORMAT" | sed 's/d$/u/'`
|
||||
INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\""
|
||||
UINT64_FORMAT="\"$LONG_LONG_UINT_FORMAT\""
|
||||
else
|
||||
# Here if we are not using 'long long int' at all
|
||||
INT64_FORMAT='"%ld"'
|
||||
UINT64_FORMAT='"%lu"'
|
||||
fi
|
||||
|
||||
|
||||
@ -13756,6 +13758,12 @@ cat >>confdefs.h <<_ACEOF
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define UINT64_FORMAT $UINT64_FORMAT
|
||||
_ACEOF
|
||||
|
||||
|
||||
if test $pgac_need_repl_snprintf = yes; then
|
||||
LIBOBJS="$LIBOBJS snprintf.$ac_objext"
|
||||
fi
|
||||
|
13
configure.in
13
configure.in
@ -1,5 +1,5 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl $PostgreSQL: pgsql/configure.in,v 1.313 2004/02/02 22:20:32 momjian Exp $
|
||||
dnl $PostgreSQL: pgsql/configure.in,v 1.314 2004/02/10 19:55:45 tgl Exp $
|
||||
dnl
|
||||
dnl Developers, please strive to achieve this order:
|
||||
dnl
|
||||
@ -1063,9 +1063,8 @@ fi
|
||||
|
||||
# If we found "long int" is 64 bits, assume snprintf handles it. If
|
||||
# we found we need to use "long long int", better check. We cope with
|
||||
# snprintfs that use either %lld, %qd, or %I64d as the format. If
|
||||
# neither works, fall back to our own snprintf emulation (which we
|
||||
# know uses %lld).
|
||||
# snprintfs that use %lld, %qd, or %I64d as the format. If none of these
|
||||
# work, fall back to our own snprintf emulation (which we know uses %lld).
|
||||
|
||||
if test "$HAVE_LONG_LONG_INT_64" = yes ; then
|
||||
if test $pgac_need_repl_snprintf = no; then
|
||||
@ -1079,15 +1078,21 @@ if test "$HAVE_LONG_LONG_INT_64" = yes ; then
|
||||
# Here if we previously decided we needed to use our own snprintf
|
||||
LONG_LONG_INT_FORMAT='%lld'
|
||||
fi
|
||||
LONG_LONG_UINT_FORMAT=`echo "$LONG_LONG_INT_FORMAT" | sed 's/d$/u/'`
|
||||
INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\""
|
||||
UINT64_FORMAT="\"$LONG_LONG_UINT_FORMAT\""
|
||||
else
|
||||
# Here if we are not using 'long long int' at all
|
||||
INT64_FORMAT='"%ld"'
|
||||
UINT64_FORMAT='"%lu"'
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT,
|
||||
[Define to the appropriate snprintf format for 64-bit ints, if any.])
|
||||
|
||||
AC_DEFINE_UNQUOTED(UINT64_FORMAT, $UINT64_FORMAT,
|
||||
[Define to the appropriate snprintf format for unsigned 64-bit ints, if any.])
|
||||
|
||||
if test $pgac_need_repl_snprintf = yes; then
|
||||
AC_LIBOBJ(snprintf)
|
||||
fi
|
||||
|
@ -588,6 +588,10 @@
|
||||
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
|
||||
#undef TM_IN_SYS_TIME
|
||||
|
||||
/* Define to the appropriate snprintf format for unsigned 64-bit ints, if any.
|
||||
*/
|
||||
#undef UINT64_FORMAT
|
||||
|
||||
/* Define to 1 to build with assertion checks. (--enable-cassert) */
|
||||
#undef USE_ASSERT_CHECKING
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user