Fix *printf behaviour for large precisions on mingw and BeOS.
[gnulib.git] / m4 / vasnprintf-posix.m4
index 73b10ba..d28c898 100644 (file)
@@ -1,4 +1,4 @@
-# vasnprintf-posix.m4 serial 9
+# vasnprintf-posix.m4 serial 10
 dnl Copyright (C) 2007 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -17,6 +17,7 @@ AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX],
   AC_REQUIRE([gl_PRINTF_POSITIONS])
   AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
   AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
+  AC_REQUIRE([gl_PRINTF_PRECISION])
   AC_REQUIRE([gl_PRINTF_ENOMEM])
   gl_cv_func_vasnprintf_posix=no
   AC_CHECK_FUNCS_ONCE([vasnprintf])
@@ -40,13 +41,17 @@ AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX],
                                     *yes)
                                       case "$gl_cv_func_printf_flag_zero" in
                                         *yes)
-                                          case "$gl_cv_func_printf_enomem" in
+                                          case "$gl_cv_func_printf_precision" in
                                             *yes)
-                                              if test $ac_cv_func_vasnprintf = yes; then
-                                                # vasnprintf exists and is already
-                                                # POSIX compliant.
-                                                gl_cv_func_vasnprintf_posix=yes
-                                              fi
+                                              case "$gl_cv_func_printf_enomem" in
+                                                *yes)
+                                                  if test $ac_cv_func_vasnprintf = yes; then
+                                                    # vasnprintf exists and is
+                                                    # already POSIX compliant.
+                                                    gl_cv_func_vasnprintf_posix=yes
+                                                  fi
+                                                  ;;
+                                              esac
                                               ;;
                                           esac
                                           ;;
@@ -77,6 +82,7 @@ AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX],
     gl_PREREQ_VASNPRINTF_DIRECTIVE_F
     gl_PREREQ_VASNPRINTF_FLAG_GROUPING
     gl_PREREQ_VASNPRINTF_FLAG_ZERO
+    gl_PREREQ_VASNPRINTF_PRECISION
     gl_PREREQ_VASNPRINTF_ENOMEM
     gl_REPLACE_VASNPRINTF
   fi