X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fvasnprintf-posix.m4;h=3f0b462f709e77f4c85ad8a5e6e0cee762e21fed;hb=83f0b877ee65b2d7e1c88d44ba85c39f6101b315;hp=8556794134702c1433828a1299de35305450b25f;hpb=b4548f0e8f674d7c914b622c5ace7e2686ab0f87;p=gnulib.git diff --git a/m4/vasnprintf-posix.m4 b/m4/vasnprintf-posix.m4 index 855679413..3f0b462f7 100644 --- a/m4/vasnprintf-posix.m4 +++ b/m4/vasnprintf-posix.m4 @@ -1,29 +1,100 @@ -# vasnprintf-posix.m4 serial 1 -dnl Copyright (C) 2007 Free Software Foundation, Inc. +# vasnprintf-posix.m4 serial 13 +dnl Copyright (C) 2007-2012 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_VASNPRINTF_POSIX], [ - AC_REQUIRE([gl_EOVERFLOW]) AC_REQUIRE([gl_PRINTF_SIZES_C99]) + AC_REQUIRE([gl_PRINTF_LONG_DOUBLE]) + AC_REQUIRE([gl_PRINTF_INFINITE]) + AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_A]) + AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) AC_REQUIRE([gl_PRINTF_DIRECTIVE_N]) + AC_REQUIRE([gl_PRINTF_DIRECTIVE_LS]) AC_REQUIRE([gl_PRINTF_POSITIONS]) - AC_CHECK_FUNCS([vasnprintf]) - if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \ - && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \ - && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \ - && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null \ - && test $ac_cv_func_vasnprintf = yes; then - : # vasnprintf exists and is already POSIX compliant. - else - if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then - AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1, - [Define if the vasnprintf implementation needs special code for - the 'a' and 'A' directives.]) - fi + AC_REQUIRE([gl_PRINTF_FLAG_GROUPING]) + AC_REQUIRE([gl_PRINTF_FLAG_LEFTADJUST]) + AC_REQUIRE([gl_PRINTF_FLAG_ZERO]) + AC_REQUIRE([gl_PRINTF_PRECISION]) + AC_REQUIRE([gl_PRINTF_ENOMEM]) + gl_cv_func_vasnprintf_posix=no + AC_CHECK_FUNCS_ONCE([vasnprintf]) + case "$gl_cv_func_printf_sizes_c99" in + *yes) + case "$gl_cv_func_printf_long_double" in + *yes) + case "$gl_cv_func_printf_infinite" in + *yes) + case "$gl_cv_func_printf_infinite_long_double" in + *yes) + case "$gl_cv_func_printf_directive_a" in + *yes) + case "$gl_cv_func_printf_directive_f" in + *yes) + case "$gl_cv_func_printf_directive_n" in + *yes) + case "$gl_cv_func_printf_directive_ls" in + *yes) + case "$gl_cv_func_printf_positions" in + *yes) + case "$gl_cv_func_printf_flag_grouping" in + *yes) + case "$gl_cv_func_printf_flag_leftadjust" in + *yes) + case "$gl_cv_func_printf_flag_zero" in + *yes) + case "$gl_cv_func_printf_precision" in + *yes) + case "$gl_cv_func_printf_enomem" 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 + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + ;; + esac + if test $gl_cv_func_vasnprintf_posix = no; then + gl_PREREQ_VASNPRINTF_LONG_DOUBLE + gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE + gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE + gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F + gl_PREREQ_VASNPRINTF_DIRECTIVE_LS + gl_PREREQ_VASNPRINTF_FLAG_GROUPING + gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST + gl_PREREQ_VASNPRINTF_FLAG_ZERO + gl_PREREQ_VASNPRINTF_PRECISION + gl_PREREQ_VASNPRINTF_ENOMEM gl_REPLACE_VASNPRINTF fi ])