Implement the %F directive if the system doesn't implement it correctly.
[gnulib.git] / m4 / vsnprintf-posix.m4
index f776da0..2ea482b 100644 (file)
@@ -1,4 +1,4 @@
-# vsnprintf-posix.m4 serial 2
+# vsnprintf-posix.m4 serial 3
 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,
@@ -9,6 +9,7 @@ AC_DEFUN([gl_FUNC_VSNPRINTF_POSIX],
   AC_REQUIRE([gl_EOVERFLOW])
   AC_REQUIRE([gl_PRINTF_SIZES_C99])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
+  AC_REQUIRE([gl_PRINTF_DIRECTIVE_F])
   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
   AC_REQUIRE([gl_PRINTF_POSITIONS])
   gl_cv_func_vsnprintf_posix=no
@@ -22,19 +23,23 @@ AC_DEFUN([gl_FUNC_VSNPRINTF_POSIX],
       *yes)
         case "$gl_cv_func_printf_directive_a" in
           *yes)
-            case "$gl_cv_func_printf_directive_n" in
+            case "$gl_cv_func_printf_directive_f" in
               *yes)
-                case "$gl_cv_func_printf_positions" in
+                case "$gl_cv_func_printf_directive_n" in
                   *yes)
-                    case "$gl_cv_func_snprintf_truncation_c99" in
+                    case "$gl_cv_func_printf_positions" in
                       *yes)
-                        case "$gl_cv_func_snprintf_retval_c99" in
+                        case "$gl_cv_func_snprintf_truncation_c99" in
                           *yes)
-                            case "$gl_cv_func_snprintf_directive_n" in
+                            case "$gl_cv_func_snprintf_retval_c99" in
                               *yes)
-                                # vsnprintf exists and is already POSIX
-                                # compliant.
-                                gl_cv_func_vsnprintf_posix=yes
+                                case "$gl_cv_func_snprintf_directive_n" in
+                                  *yes)
+                                    # vsnprintf exists and is already POSIX
+                                    # compliant.
+                                    gl_cv_func_vsnprintf_posix=yes
+                                    ;;
+                                esac
                                 ;;
                             esac
                             ;;
@@ -52,6 +57,7 @@ AC_DEFUN([gl_FUNC_VSNPRINTF_POSIX],
   fi
   if test $gl_cv_func_vsnprintf_posix = no; then
     gl_PREREQ_VASNPRINTF_DIRECTIVE_A
+    gl_PREREQ_VASNPRINTF_DIRECTIVE_F
     gl_REPLACE_VASNPRINTF
     gl_REPLACE_VSNPRINTF
   fi