Work around an incorrect implementation of the 0 flag on most platforms.
[gnulib.git] / m4 / vasnprintf-posix.m4
index 34eee29..68634bf 100644 (file)
@@ -1,4 +1,4 @@
-# vasnprintf-posix.m4 serial 5
+# vasnprintf-posix.m4 serial 6
 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,
@@ -13,6 +13,7 @@ AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX],
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
   AC_REQUIRE([gl_PRINTF_POSITIONS])
   AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
+  AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
   gl_cv_func_vasnprintf_posix=no
   AC_CHECK_FUNCS_ONCE([vasnprintf])
   case "$gl_cv_func_printf_sizes_c99" in
@@ -27,10 +28,15 @@ AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX],
                     *yes)
                       case "$gl_cv_func_printf_flag_grouping" 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_flag_zero" 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
                       ;;
@@ -47,6 +53,7 @@ AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX],
     gl_PREREQ_VASNPRINTF_DIRECTIVE_A
     gl_PREREQ_VASNPRINTF_DIRECTIVE_F
     gl_PREREQ_VASNPRINTF_FLAG_GROUPING
+    gl_PREREQ_VASNPRINTF_FLAG_ZERO
     gl_REPLACE_VASNPRINTF
   fi
 ])