1 # snprintf-posix.m4 serial 14 2 dnl Copyright (C) 2007-2012 Free Software Foundation, Inc. 3 dnl This file is free software; the Free Software Foundation 4 dnl gives unlimited permission to copy and/or distribute it, 5 dnl with or without modifications, as long as this notice is preserved. 6 7 AC_DEFUN([gl_FUNC_SNPRINTF_POSIX], 8 [ 9 AC_REQUIRE([gl_PRINTF_SIZES_C99]) 10 AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) 11 AC_REQUIRE([gl_PRINTF_INFINITE]) 12 AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) 13 AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) 14 AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) 15 AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) 16 AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) 17 AC_REQUIRE([gl_PRINTF_POSITIONS]) 18 AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) 19 AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) 20 AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) 21 AC_REQUIRE([gl_PRINTF_PRECISION]) 22 AC_REQUIRE([gl_PRINTF_ENOMEM]) 23 gl_cv_func_snprintf_posix=no 24 AC_CHECK_FUNCS([snprintf]) 25 if test $ac_cv_func_snprintf = yes; then 26 gl_SNPRINTF_TRUNCATION_C99 27 gl_SNPRINTF_RETVAL_C99 28 gl_SNPRINTF_DIRECTIVE_N 29 gl_SNPRINTF_SIZE1 30 gl_VSNPRINTF_ZEROSIZE_C99 31 case "$gl_cv_func_printf_sizes_c99" in 32 *yes) 33 case "$gl_cv_func_printf_long_double" in 34 *yes) 35 case "$gl_cv_func_printf_infinite" in 36 *yes) 37 case "$gl_cv_func_printf_infinite_long_double" in 38 *yes) 39 case "$gl_cv_func_printf_directive_a" in 40 *yes) 41 case "$gl_cv_func_printf_directive_f" in 42 *yes) 43 case "$gl_cv_func_printf_directive_n" in 44 *yes) 45 case "$gl_cv_func_printf_directive_ls" in 46 *yes) 47 case "$gl_cv_func_printf_positions" in 48 *yes) 49 case "$gl_cv_func_printf_flag_grouping" in 50 *yes) 51 case "$gl_cv_func_printf_flag_leftadjust" in 52 *yes) 53 case "$gl_cv_func_printf_flag_zero" in 54 *yes) 55 case "$gl_cv_func_printf_precision" in 56 *yes) 57 case "$gl_cv_func_printf_enomem" in 58 *yes) 59 case "$gl_cv_func_snprintf_truncation_c99" in 60 *yes) 61 case "$gl_cv_func_snprintf_retval_c99" in 62 *yes) 63 case "$gl_cv_func_snprintf_directive_n" in 64 *yes) 65 case "$gl_cv_func_snprintf_size1" in 66 *yes) 67 case "$gl_cv_func_vsnprintf_zerosize_c99" in 68 *yes) 69 # snprintf exists and is 70 # already POSIX compliant. 71 gl_cv_func_snprintf_posix=yes 72 ;; 73 esac 74 ;; 75 esac 76 ;; 77 esac 78 ;; 79 esac 80 ;; 81 esac 82 ;; 83 esac 84 ;; 85 esac 86 ;; 87 esac 88 ;; 89 esac 90 ;; 91 esac 92 ;; 93 esac 94 ;; 95 esac 96 ;; 97 esac 98 ;; 99 esac 100 ;; 101 esac 102 ;; 103 esac 104 ;; 105 esac 106 ;; 107 esac 108 ;; 109 esac 110 fi 111 if test $gl_cv_func_snprintf_posix = no; then 112 gl_PREREQ_VASNPRINTF_LONG_DOUBLE 113 gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE 114 gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE 115 gl_PREREQ_VASNPRINTF_DIRECTIVE_A 116 gl_PREREQ_VASNPRINTF_DIRECTIVE_F 117 gl_PREREQ_VASNPRINTF_DIRECTIVE_LS 118 gl_PREREQ_VASNPRINTF_FLAG_GROUPING 119 gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST 120 gl_PREREQ_VASNPRINTF_FLAG_ZERO 121 gl_PREREQ_VASNPRINTF_PRECISION 122 gl_PREREQ_VASNPRINTF_ENOMEM 123 gl_REPLACE_VASNPRINTF 124 gl_REPLACE_SNPRINTF 125 fi 126 ]) 127