*printf: Detect large precisions bug on Solaris 10/SPARC.
[gnulib.git] / ChangeLog
index 2dc4aeb..038e38b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,72 @@
+2010-12-24  Bruno Haible  <bruno@clisp.org>
+
+       *printf: Detect large precisions bug on Solaris 10/SPARC.
+       * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
+       by Paul Eggert.
+       * tests/test-snprintf-posix.h (test_function): Add this test code here
+       too.
+       * tests/test-sprintf-posix.h (test_function): Likewise.
+       * tests/test-vasnprintf-posix.c (test_function): Likewise.
+       * tests/test-vasprintf-posix.c (test_function): Likewise.
+       * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
+       around by gnulib.
+       * doc/posix-functions/printf.texi: Likewise.
+       * doc/posix-functions/snprintf.texi: Likewise.
+       * doc/posix-functions/sprintf.texi: Likewise.
+       * doc/posix-functions/vfprintf.texi: Likewise.
+       * doc/posix-functions/vprintf.texi: Likewise.
+       * doc/posix-functions/vsnprintf.texi: Likewise.
+       * doc/posix-functions/vsprintf.texi: Likewise.
+       * doc/posix-functions/dprintf.texi: Undo last commit.
+       * doc/posix-functions/vdprintf.texi: Likewise.
+
+2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       tests: port test-fdutimensat.c to Solaris 8
+       * tests/test-fdutimensat.c (do_fdutimens): Don't assume
+       fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
+       On Solaris 8, it fails with errno == ENOSYS, because there is no
+       futimens (so it can't use the fd), and there is no lutimens (so it
+       can't implement AT_SYMLINK_NOFOLLOW on symlinks).
+
+       vsnprintf: make more consistent with snprintf; doc fixes
+
+       * doc/posix-functions/snprintf.texi (snprintf): The workaround for
+       the byte count return problem was promoted from the snprintf-posix
+       to the snprintf module.
+       * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
+       * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
+       gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
+       * tests/test-snprintf.c (main): Check the byte count returned.
+       * tests/test-vsnprintf.c (main): Likewise.
+
+2010-12-23  Eric Blake  <eblake@redhat.com>
+
+       sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
+       * modules/sigpipe (License): Relax license.
+
 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
 
+       doc: document Solaris printf bug with large float precisions
+       * doc/posix-functions/dprintf.texi (dprintf):
+       * doc/posix-functions/fprintf.texi (fprintf):
+       * doc/posix-functions/printf.texi (printf):
+       * doc/posix-functions/snprintf.texi (snprintf):
+       * doc/posix-functions/sprintf.texi (sprintf):
+       * doc/posix-functions/vdprintf.texi (vdprintf):
+       * doc/posix-functions/vfprintf.texi (vfprintf):
+       * doc/posix-functions/vprintf.texi (vprintf):
+       * doc/posix-functions/vsnprintf.texi (vsnprintf):
+       * doc/posix-functions/vsprintf.texi (vsprintf):
+       Mention that these functions mishandle large floating point
+       precisions on Solaris 10.  The same bug is also present in Solaris
+       8, and I assume earlier.  This causes "cd gnulib-tests; make
+       check" to fail on Solaris 8 (and I assume, later) when building
+       the latest coreutils, in test-vasprintf-posix's call to
+       my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
+       the wide flavors (e.g., wprintf) so this patch just updates the
+       documentation for the narrow ones.
+
        test-posixtm.c: add two tests
        * tests/test-posixtm.c: Add two tests, to highlight the
        bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work