Eric Blake wrote: > Up till today, newlib has this bug: > > $ printf %.f 1234 > 1234 > $ printf %.F 1234 > 1F+03 > > basically, it is treating %F like %e, with rather comical results. This bug > bites cygwin 1.5.x (but not 1.7.0). And printf-posix and friends currently > do > not test for it.
Can you please test this patch? Already in CVS without testing; I rely on you. Bruno 2007-04-11 Bruno Haible <[EMAIL PROTECTED]> * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the %f directive, if NEED_PRINTF_DIRECTIVE_F is defined. * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro. * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro. * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement. Reported by Eric Blake. *** lib/vasnprintf.c 6 Apr 2007 21:22:02 -0000 1.39 --- lib/vasnprintf.c 11 Apr 2007 23:34:20 -0000 *************** *** 1061,1067 **** default: break; } ! *p = dp->conversion; #if USE_SNPRINTF p[1] = '%'; p[2] = 'n'; --- 1061,1072 ---- default: break; } ! #if NEED_PRINTF_DIRECTIVE_F ! if (dp->conversion == 'F') ! *p = 'f'; ! else ! #endif ! *p = dp->conversion; #if USE_SNPRINTF p[1] = '%'; p[2] = 'n'; *************** *** 1348,1353 **** --- 1353,1370 ---- free (tmp); #endif + #if NEED_PRINTF_DIRECTIVE_F + if (dp->conversion == 'F') + { + /* Convert the %f result to upper case for %F. */ + CHAR_T *rp = result + length; + size_t rc; + for (rc = count; rc > 0; rc--, rp++) + if (*rp >= 'a' && *rp <= 'z') + *rp = *rp - 'a' + 'A'; + } + #endif + length += count; break; } *** m4/fprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.2 --- m4/fprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # fprintf-posix.m4 serial 2 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, --- 1,4 ---- ! # fprintf-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,14 **** --- 9,15 ---- 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_fprintf_posix=no *************** *** 16,27 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! # fprintf exists and is already POSIX compliant. ! gl_cv_func_fprintf_posix=yes ;; esac ;; --- 17,32 ---- *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_positions" in ! *yes) ! # fprintf exists and is already POSIX compliant. ! gl_cv_func_fprintf_posix=yes ! ;; ! esac ;; esac ;; *************** *** 32,37 **** --- 37,43 ---- esac if test $gl_cv_func_fprintf_posix = no; then gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_REPLACE_VASNPRINTF gl_REPLACE_FPRINTF fi *** m4/printf.m4 11 Apr 2007 23:32:56 -0000 1.16 --- m4/printf.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # printf.m4 serial 5 dnl Copyright (C) 2003, 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, --- 1,4 ---- ! # printf.m4 serial 6 dnl Copyright (C) 2003, 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, *************** *** 162,167 **** --- 162,205 ---- ]) ]) + dnl Test whether the *printf family of functions supports the %F format + dnl directive. (ISO C99, POSIX:2001) + dnl Result is gl_cv_func_printf_directive_f. + + AC_DEFUN([gl_PRINTF_DIRECTIVE_F], + [ + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether printf supports the 'F' directive], + [gl_cv_func_printf_directive_f], + [ + AC_TRY_RUN([ + #include <stdio.h> + #include <string.h> + static char buf[100]; + int main () + { + if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0 + || strcmp (buf, "1234567.000000 33") != 0) + return 1; + if (sprintf (buf, "%F", 1.0 / 0.0) < 0 + || (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0)) + return 1; + /* This catches a Cygwin 2007 bug. */ + if (sprintf (buf, "%.F", 1234.0) < 0 + || strcmp (buf, "1234") != 0) + return 1; + return 0; + }], [gl_cv_func_printf_directive_f=yes], [gl_cv_func_printf_directive_f=no], + [ + case "$host_os" in + # If we don't know, assume the worst. + *) gl_cv_func_printf_directive_f="guessing no";; + esac + ]) + ]) + ]) + dnl Test whether the *printf family of functions supports the %n format dnl directive. (ISO C99, POSIX:2001) dnl Result is gl_cv_func_printf_directive_n. *************** *** 428,469 **** dnl dnl 1 = gl_PRINTF_SIZES_C99 dnl 2 = gl_PRINTF_DIRECTIVE_A ! dnl 3 = gl_PRINTF_DIRECTIVE_N ! dnl 4 = gl_PRINTF_POSITIONS ! dnl 5 = gl_SNPRINTF_PRESENCE ! dnl 6 = gl_SNPRINTF_TRUNCATION_C99 ! dnl 7 = gl_SNPRINTF_RETVAL_C99 ! dnl 8 = gl_SNPRINTF_DIRECTIVE_N dnl dnl 1 = checking whether printf supports size specifiers as in C99... dnl 2 = checking whether printf supports the 'a' and 'A' directives... ! dnl 3 = checking whether printf supports the 'n' directive... ! dnl 4 = checking whether printf supports POSIX/XSI format strings with positions... ! dnl 5 = checking for snprintf... ! dnl 6 = checking whether snprintf truncates the result as in C99... ! dnl 7 = checking whether snprintf returns a byte count as in C99... ! dnl 8 = checking whether snprintf fully supports the 'n' directive... dnl dnl . = yes, # = no. dnl ! dnl 1 2 3 4 5 6 7 8 ! dnl glibc 2.5 . . . . . . . . ! dnl glibc 2.3.6 . # . . . . . . ! dnl FreeBSD 5.4, 6.1 . ? . . . . . . ! dnl MacOS X 10.3.9 . # . . . . . . ! dnl OpenBSD 3.9, 4.0 . # . . . . . ? ! dnl Cygwin 2007 . # . . . . . ? ! dnl Cygwin 2006 # # . . . . . ? ! dnl Solaris 10 . # . . . . . . ! dnl Solaris 2.6 ... 9 # # . . . . . . ! dnl Solaris 2.5.1 # # . . # # # # ! dnl AIX 4.3.2, 5.1 # # . . . . . . ! dnl HP-UX 11.31 . # . . . . # # ! dnl HP-UX 10.20, 11.00, 11.11, 11.23 # # . . . . # # ! dnl IRIX 6.5 # # . . . . # . ! dnl OSF/1 5.1 # # . . . . # . ! dnl OSF/1 4.0d # # . . # # # # ! dnl NetBSD 4.0 . ? . . . . . ? ! dnl NetBSD 3.0 . # . # . . . . ! dnl BeOS # # . # . . . . ! dnl mingw # # . # . # # # --- 466,509 ---- dnl dnl 1 = gl_PRINTF_SIZES_C99 dnl 2 = gl_PRINTF_DIRECTIVE_A ! dnl 3 = gl_PRINTF_DIRECTIVE_F ! dnl 4 = gl_PRINTF_DIRECTIVE_N ! dnl 5 = gl_PRINTF_POSITIONS ! dnl 6 = gl_SNPRINTF_PRESENCE ! dnl 7 = gl_SNPRINTF_TRUNCATION_C99 ! dnl 8 = gl_SNPRINTF_RETVAL_C99 ! dnl 9 = gl_SNPRINTF_DIRECTIVE_N dnl dnl 1 = checking whether printf supports size specifiers as in C99... dnl 2 = checking whether printf supports the 'a' and 'A' directives... ! dnl 3 = checking whether printf supports the 'F' directive... ! dnl 4 = checking whether printf supports the 'n' directive... ! dnl 5 = checking whether printf supports POSIX/XSI format strings with positions... ! dnl 6 = checking for snprintf... ! dnl 7 = checking whether snprintf truncates the result as in C99... ! dnl 8 = checking whether snprintf returns a byte count as in C99... ! dnl 9 = checking whether snprintf fully supports the 'n' directive... dnl dnl . = yes, # = no. dnl ! dnl 1 2 3 4 5 6 7 8 9 ! dnl glibc 2.5 . . . . . . . . . ! dnl glibc 2.3.6 . # . . . . . . . ! dnl FreeBSD 5.4, 6.1 . ? . . . . . . . ! dnl MacOS X 10.3.9 . # . . . . . . . ! dnl OpenBSD 3.9, 4.0 . # ? . . . . . ? ! dnl Cygwin 2007 . # # . . . . . ? ! dnl Cygwin 2006 # # # . . . . . ? ! dnl Solaris 10 . # . . . . . . . ! dnl Solaris 2.6 ... 9 # # # . . . . . . ! dnl Solaris 2.5.1 # # # . . # # # # ! dnl AIX 4.3.2, 5.1 # # # . . . . . . ! dnl HP-UX 11.31 . # . . . . . # # ! dnl HP-UX 10.20, 11.00, 11.11, 11.23 # # # . . . . # # ! dnl IRIX 6.5 # # # . . . . # . ! dnl OSF/1 5.1 # # # . . . . # . ! dnl OSF/1 4.0d # # # . . # # # # ! dnl NetBSD 4.0 . ? ? . . . . . ? ! dnl NetBSD 3.0 . # ? . # . . . . ! dnl BeOS # # ? . # . . . . ! dnl mingw # # # . # . # # # *** m4/snprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.3 --- m4/snprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # snprintf-posix.m4 serial 2 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, --- 1,4 ---- ! # 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,14 **** --- 9,15 ---- 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,39 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! case "$gl_cv_func_snprintf_truncation_c99" in *yes) ! case "$gl_cv_func_snprintf_retval_c99" in *yes) ! case "$gl_cv_func_snprintf_directive_n" in *yes) ! # snprintf exists and is already POSIX ! # compliant. ! gl_cv_func_snprintf_posix=yes ;; esac ;; --- 22,44 ---- *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_positions" in *yes) ! case "$gl_cv_func_snprintf_truncation_c99" in *yes) ! case "$gl_cv_func_snprintf_retval_c99" in *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,56 **** --- 56,62 ---- 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 *** m4/sprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.3 --- m4/sprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # sprintf-posix.m4 serial 2 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, --- 1,4 ---- ! # sprintf-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,14 **** --- 9,15 ---- 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_sprintf_posix=no *************** *** 16,27 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! # sprintf exists and is already POSIX compliant. ! gl_cv_func_sprintf_posix=yes ;; esac ;; --- 17,32 ---- *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_positions" in ! *yes) ! # sprintf exists and is already POSIX compliant. ! gl_cv_func_sprintf_posix=yes ! ;; ! esac ;; esac ;; *************** *** 32,37 **** --- 37,43 ---- esac if test $gl_cv_func_sprintf_posix = no; then gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_REPLACE_VASNPRINTF gl_REPLACE_SPRINTF fi *** m4/vasnprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.6 --- m4/vasnprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # vasnprintf-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, --- 1,4 ---- ! # vasnprintf-posix.m4 serial 4 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,14 **** --- 9,15 ---- 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_vasnprintf_posix=no *************** *** 17,30 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" 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 ;; --- 18,35 ---- *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_positions" 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 ;; *************** *** 35,40 **** --- 40,46 ---- esac if test $gl_cv_func_vasnprintf_posix = no; then gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_REPLACE_VASNPRINTF fi ]) *** m4/vasnprintf.m4 6 Apr 2007 14:36:56 -0000 1.19 --- m4/vasnprintf.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # vasnprintf.m4 serial 12 dnl Copyright (C) 2002-2004, 2006-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, --- 1,4 ---- ! # vasnprintf.m4 serial 13 dnl Copyright (C) 2002-2004, 2006-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, *************** *** 75,80 **** --- 75,95 ---- esac ]) + # Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive. + AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F], + [ + AC_REQUIRE([gl_PRINTF_DIRECTIVE_F]) + case "$gl_cv_func_printf_directive_f" in + *yes) + ;; + *) + AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], 1, + [Define if the vasnprintf implementation needs special code for + the 'F' directive.]) + ;; + esac + ]) + # Prerequisites of lib/asnprintf.c. AC_DEFUN([gl_PREREQ_ASNPRINTF], [ *** m4/vasprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.4 --- m4/vasprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # vasprintf-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, --- 1,4 ---- ! # vasprintf-posix.m4 serial 4 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,14 **** --- 9,15 ---- 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_vasprintf_posix=no *************** *** 17,30 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! if test $ac_cv_func_vasprintf = yes; then ! # vasprintf exists and is already POSIX compliant. ! gl_cv_func_vasprintf_posix=yes ! fi ;; esac ;; --- 18,35 ---- *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_positions" in ! *yes) ! if test $ac_cv_func_vasprintf = yes; then ! # vasprintf exists and is already POSIX compliant. ! gl_cv_func_vasprintf_posix=yes ! fi ! ;; ! esac ;; esac ;; *************** *** 35,40 **** --- 40,46 ---- esac if test $gl_cv_func_vasprintf_posix = no; then gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_REPLACE_VASNPRINTF gl_REPLACE_VASPRINTF fi *** m4/vfprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.2 --- m4/vfprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # vfprintf-posix.m4 serial 2 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, --- 1,4 ---- ! # vfprintf-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,14 **** --- 9,15 ---- 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_vfprintf_posix=no *************** *** 16,27 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! # vfprintf exists and is already POSIX compliant. ! gl_cv_func_vfprintf_posix=yes ;; esac ;; --- 17,32 ---- *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_positions" in ! *yes) ! # vfprintf exists and is already POSIX compliant. ! gl_cv_func_vfprintf_posix=yes ! ;; ! esac ;; esac ;; *************** *** 32,37 **** --- 37,43 ---- esac if test $gl_cv_func_vfprintf_posix = no; then gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_REPLACE_VASNPRINTF gl_REPLACE_VFPRINTF fi *** m4/vsnprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.3 --- m4/vsnprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # vsnprintf-posix.m4 serial 2 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, --- 1,4 ---- ! # 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,14 **** --- 9,15 ---- 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,40 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! case "$gl_cv_func_snprintf_truncation_c99" in *yes) ! case "$gl_cv_func_snprintf_retval_c99" in *yes) ! case "$gl_cv_func_snprintf_directive_n" in *yes) ! # vsnprintf exists and is already POSIX ! # compliant. ! gl_cv_func_vsnprintf_posix=yes ;; esac ;; --- 23,45 ---- *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_positions" in *yes) ! case "$gl_cv_func_snprintf_truncation_c99" in *yes) ! case "$gl_cv_func_snprintf_retval_c99" in *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,57 **** --- 57,63 ---- 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 *** m4/vsprintf-posix.m4 26 Mar 2007 02:15:46 -0000 1.3 --- m4/vsprintf-posix.m4 11 Apr 2007 23:34:20 -0000 *************** *** 1,4 **** ! # vsprintf-posix.m4 serial 2 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, --- 1,4 ---- ! # vsprintf-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,14 **** --- 9,15 ---- 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_vsprintf_posix=no *************** *** 16,27 **** *yes) case "$gl_cv_func_printf_directive_a" in *yes) ! case "$gl_cv_func_printf_directive_n" in *yes) ! case "$gl_cv_func_printf_positions" in *yes) ! # vsprintf exists and is already POSIX compliant. ! gl_cv_func_vsprintf_posix=yes ;; esac ;; --- 17,32 ---- *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_positions" in ! *yes) ! # vsprintf exists and is already POSIX compliant. ! gl_cv_func_vsprintf_posix=yes ! ;; ! esac ;; esac ;; *************** *** 32,37 **** --- 37,43 ---- esac if test $gl_cv_func_vsprintf_posix = no; then gl_PREREQ_VASNPRINTF_DIRECTIVE_A + gl_PREREQ_VASNPRINTF_DIRECTIVE_F gl_REPLACE_VASNPRINTF gl_REPLACE_VSPRINTF fi