diff --git a/config/c-library.m4 b/config/c-library.m4
index aa6aa397f150be0d1ea8e4cbc6ab1d42b1f49126..31dba1cbfdd0e9b397151b899d736512a300c77e 100644
--- a/config/c-library.m4
+++ b/config/c-library.m4
@@ -1,5 +1,5 @@
 # Macros that test various C library quirks
-# $PostgreSQL: pgsql/config/c-library.m4,v 1.30 2005/02/22 03:55:50 momjian Exp $
+# $PostgreSQL: pgsql/config/c-library.m4,v 1.31 2005/02/24 01:34:45 tgl Exp $
 
 
 # PGAC_VAR_INT_TIMEZONE
@@ -273,25 +273,23 @@ esac])# PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT
 # Determine if printf supports %1$ argument selection, e.g. %5$ selects
 # the fifth argument after the printf print string.
 # This is not in the C99 standard, but in the Single Unix Specification (SUS).
-# It is used in our langauge translation strings.
+# It is used in our language translation strings.
 #
 AC_DEFUN([PGAC_FUNC_PRINTF_ARG_CONTROL],
-[AC_MSG_CHECKING([printf supports argument control])
+[AC_MSG_CHECKING([whether printf supports argument control])
 AC_CACHE_VAL(pgac_cv_printf_arg_control,
 [AC_TRY_RUN([#include <stdio.h>
+#include <string.h>
 
-int does_printf_have_arg_control()
+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 0;
-  return 1;
-}
-main() {
-  exit(! does_printf_have_arg_control());
+  snprintf(buf, 100, "%2\$d %1\$d", 3, 4);
+  if (strcmp(buf, "4 3") != 0)
+    return 1;
+  return 0;
 }],
 [pgac_cv_printf_arg_control=yes],
 [pgac_cv_printf_arg_control=no],
diff --git a/configure b/configure
index 7f0835001745ed415e7abab21c00ffec59c72621..b4eb5c5dd980b5041b8bc621119a5464fe88b4e4 100755
--- a/configure
+++ b/configure
@@ -12162,8 +12162,8 @@ fi
 done
 
 
-echo "$as_me:$LINENO: checking printf supports argument control" >&5
-echo $ECHO_N "checking printf supports argument control... $ECHO_C" >&6
+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
@@ -12174,19 +12174,17 @@ else
 #line $LINENO "configure"
 #include "confdefs.h"
 #include <stdio.h>
+#include <string.h>
 
-int does_printf_have_arg_control()
+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 0;
-  return 1;
-}
-main() {
-  exit(! does_printf_have_arg_control());
+  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