Implement the %F directive if the system doesn't implement it correctly.
[gnulib.git] / m4 / snprintf-posix.m4
index 7b9e73b..890605d 100644 (file)
@@ -1,4 +1,4 @@
-# snprintf-posix.m4 serial 2
+# snprintf-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_SNPRINTF_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_snprintf_posix=no
@@ -21,19 +22,23 @@ AC_DEFUN([gl_FUNC_SNPRINTF_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)
-                                # snprintf exists and is already POSIX
-                                # compliant.
-                                gl_cv_func_snprintf_posix=yes
+                                case "$gl_cv_func_snprintf_directive_n" in
+                                  *yes)
+                                    # snprintf exists and is already POSIX
+                                    # compliant.
+                                    gl_cv_func_snprintf_posix=yes
+                                    ;;
+                                esac
                                 ;;
                             esac
                             ;;
@@ -51,6 +56,7 @@ AC_DEFUN([gl_FUNC_SNPRINTF_POSIX],
   fi
   if test $gl_cv_func_snprintf_posix = no; then
     gl_PREREQ_VASNPRINTF_DIRECTIVE_A
+    gl_PREREQ_VASNPRINTF_DIRECTIVE_F
     gl_REPLACE_VASNPRINTF
     gl_REPLACE_SNPRINTF
   fi