diff m4/vsnprintf-posix.m4 @ 9442:ad275322f8f1

Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
author Bruno Haible <bruno@clisp.org>
date Sat, 03 Nov 2007 16:52:20 +0100
parents 771a56a41b5b
children 0519fc8ce06a
line wrap: on
line diff
--- a/m4/vsnprintf-posix.m4
+++ b/m4/vsnprintf-posix.m4
@@ -1,4 +1,4 @@
-# vsnprintf-posix.m4 serial 8
+# vsnprintf-posix.m4 serial 9
 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_REQUIRE([gl_PRINTF_POSITIONS])
   AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
   AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
+  AC_REQUIRE([gl_PRINTF_ENOMEM])
   gl_cv_func_vsnprintf_posix=no
   AC_CHECK_FUNCS([vsnprintf])
   if test $ac_cv_func_vsnprintf = yes; then
@@ -45,17 +46,21 @@
                                       *yes)
                                         case "$gl_cv_func_printf_flag_zero" in
                                           *yes)
-                                            case "$gl_cv_func_snprintf_truncation_c99" in
+                                            case "$gl_cv_func_printf_enomem" 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)
-                                                        case "$gl_cv_func_vsnprintf_zerosize_c99" in
+                                                        case "$gl_cv_func_snprintf_directive_n" in
                                                           *yes)
-                                                            # vsnprintf exists and is
-                                                            # already POSIX compliant.
-                                                            gl_cv_func_vsnprintf_posix=yes
+                                                            case "$gl_cv_func_vsnprintf_zerosize_c99" in
+                                                              *yes)
+                                                                # vsnprintf exists and is
+                                                                # already POSIX compliant.
+                                                                gl_cv_func_vsnprintf_posix=yes
+                                                                ;;
+                                                            esac
                                                             ;;
                                                         esac
                                                         ;;
@@ -93,6 +98,7 @@
     gl_PREREQ_VASNPRINTF_DIRECTIVE_F
     gl_PREREQ_VASNPRINTF_FLAG_GROUPING
     gl_PREREQ_VASNPRINTF_FLAG_ZERO
+    gl_PREREQ_VASNPRINTF_ENOMEM
     gl_REPLACE_VASNPRINTF
     gl_REPLACE_VSNPRINTF
   fi