diff --git a/configure b/configure index 1e9a2e2b28..adab47176b 100755 --- a/configure +++ b/configure @@ -14809,6 +14809,68 @@ fi # 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). +# Also force use of our snprintf if system's doesn't do arg control +if test $pgac_need_repl_snprintf = no; then + echo "$as_me:$LINENO: checking whether printf supports argument control" >&5 +echo $ECHO_N "checking whether printf supports argument control... $ECHO_C" >&6 +if test "${pgac_cv_printf_arg_control+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + pgac_cv_printf_arg_control=cross +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +#include +#include + +int main() +{ + char buf[100]; + + /* can it swap arguments? */ + snprintf(buf, 100, "%2\$d %1\$d", 3, 4); + if (strcmp(buf, "4 3") != 0) + return 1; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + pgac_cv_printf_arg_control=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +( exit $ac_status ) +pgac_cv_printf_arg_control=no +fi +rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + +fi +echo "$as_me:$LINENO: result: $pgac_cv_printf_arg_control" >&5 +echo "${ECHO_T}$pgac_cv_printf_arg_control" >&6 + + if test $pgac_cv_printf_arg_control != yes ; then + pgac_need_repl_snprintf=yes + fi +fi + +if test $pgac_need_repl_snprintf = yes; then + LIBOBJS="$LIBOBJS snprintf.$ac_objext" +fi + if test "$HAVE_LONG_LONG_INT_64" = yes ; then if test $pgac_need_repl_snprintf = no; then echo "$as_me:$LINENO: checking snprintf format for long long int" >&5 @@ -14911,68 +14973,6 @@ cat >>confdefs.h <<_ACEOF _ACEOF -# Also force use of our snprintf if system's doesn't do arg control -if test $pgac_need_repl_snprintf = no; then - echo "$as_me:$LINENO: checking whether printf supports argument control" >&5 -echo $ECHO_N "checking whether printf supports argument control... $ECHO_C" >&6 -if test "${pgac_cv_printf_arg_control+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - pgac_cv_printf_arg_control=cross -else - cat >conftest.$ac_ext <<_ACEOF -#line $LINENO "configure" -#include "confdefs.h" -#include -#include - -int main() -{ - char buf[100]; - - /* can it swap arguments? */ - snprintf(buf, 100, "%2\$d %1\$d", 3, 4); - if (strcmp(buf, "4 3") != 0) - return 1; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - pgac_cv_printf_arg_control=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -( exit $ac_status ) -pgac_cv_printf_arg_control=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - -fi -echo "$as_me:$LINENO: result: $pgac_cv_printf_arg_control" >&5 -echo "${ECHO_T}$pgac_cv_printf_arg_control" >&6 - - if test $pgac_cv_printf_arg_control != yes ; then - pgac_need_repl_snprintf=yes - fi -fi - -if test $pgac_need_repl_snprintf = yes; then - LIBOBJS="$LIBOBJS snprintf.$ac_objext" -fi - # Need a #define for the size of Datum (unsigned long) echo "$as_me:$LINENO: checking for unsigned long" >&5 echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6 diff --git a/configure.in b/configure.in index ff5a858240..f5dbf5f9ba 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $PostgreSQL: pgsql/configure.in,v 1.401 2005/02/24 02:12:15 tgl Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.402 2005/02/28 20:36:05 momjian Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -1104,6 +1104,18 @@ fi # 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). +# Also force use of our snprintf if system's doesn't do arg control +if test $pgac_need_repl_snprintf = no; then + PGAC_FUNC_PRINTF_ARG_CONTROL + if test $pgac_cv_printf_arg_control != yes ; then + pgac_need_repl_snprintf=yes + fi +fi + +if test $pgac_need_repl_snprintf = yes; then + AC_LIBOBJ(snprintf) +fi + if test "$HAVE_LONG_LONG_INT_64" = yes ; then if test $pgac_need_repl_snprintf = no; then PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT @@ -1131,18 +1143,6 @@ AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT, AC_DEFINE_UNQUOTED(UINT64_FORMAT, $UINT64_FORMAT, [Define to the appropriate snprintf format for unsigned 64-bit ints, if any.]) -# Also force use of our snprintf if system's doesn't do arg control -if test $pgac_need_repl_snprintf = no; then - PGAC_FUNC_PRINTF_ARG_CONTROL - if test $pgac_cv_printf_arg_control != yes ; then - pgac_need_repl_snprintf=yes - fi -fi - -if test $pgac_need_repl_snprintf = yes; then - AC_LIBOBJ(snprintf) -fi - # Need a #define for the size of Datum (unsigned long) AC_CHECK_SIZEOF([unsigned long])