X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=aeb1bc53e2b9e1b7e598d9359a99e19b73960f79;hb=ef5856c0c4c6302b6cac9c7cefb4e6cbdcf127be;hp=3843c33492f723879ac8ac72b66097b491c31a52;hpb=34f84640cd015eee3d9aed3b1eddf6f361576890;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 3843c3349..aeb1bc53e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,513 @@ +2013-06-11 Paul Eggert + + tests: port large-fd POSIX spawn tests to OS X + Problem reported by Daiki Ueno in + . + * tests/test-posix_spawn_file_actions_addclose.c: + * tests/test-posix_spawn_file_actions_adddup2.c: + * tests/test-posix_spawn_file_actions_addopen.c: + Include , for OPEN_MAX, if available. + (big_fd): New static function. + (main): Use it. + +2013-06-04 Bernhard Voelker + + tests/nap.h: use an adaptive delay to avoid ctime update issues + The recent change in nap.h (5191133e) decreased the probability of lost + races to about a third, however such problems could still be observed + in virtual machines and openSUSE's OBS. + Before, nap() detected the needed time once empirically and then used + that delay (together with a small correction multiplier) in further + calls. This problem has been reported and discussed several times, + including guesses about possible kernel issues: + https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html + http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html + https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html + http://bugs.gnu.org/12820 + https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html + https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html + Now, nap() avoids the race alltogether by verifying on a reference + file whether a timestamp difference has happened. + * tests/nap.h (nap_fd): Define file descriptor variable for the + witness file. + (nap_works): Change return value to bool. Change passing + the old file's status by value instead of by reference as this function + does no longer update that timestamp; rename the function argument from + st to old_st. Remove the local variables cdiff and mdiff because that + function now returns true/false instead of the precise delay. + (guess_delay): Remove function. + (clear_tmp_file): Add new function to close and unlink the witness file. + (nap): Instead of re-using the delay which has been calculated during + the first call, avoid the race by actually verifying that a timestamp + difference can be observed on the current file system. Use an adaptive + approach for the delay to minimize execution time. Assert that the + maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30 + = 2^31 - 1 = 2.1s. + Use atexit to call clear_tmp_file when the process terminates. + +2013-06-02 Paul Eggert + + sig2str: port to C++ + * lib/sig2str.h (sig2str, str2sig): Declare as extern "C". + Reported by Daniel J Sebald in + . + +2013-05-30 Eric Blake + + docs: mention cygwin shortcoming in + * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem. + + vasnprintf: silence mingw compiler warning + * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning. + +2013-05-29 Paul Eggert + + c-ctype, regex, verify: port to gcc -std=c90 -pedantic + Avoid constructions that are rejected by gcc -std=c90 -pedantic. + This fixes a porting bug I recently reintroduced in regex, and + some other instances that I discovered while testing the fix. + * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }). + * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E. + * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro + with an empty argument if this is a pedantic pre-C99 GCC. + * lib/verify.h: Do not use _Static_assert if this is a pedantic + pre-C11 GCC. + + regex: adapt to locking regime instead of depending on pthread + Instead of depending on pthread, adapt to whatever thread + modules are in use. Problem reported by Ludovic Courtès in + + and by Mats Erik Andersson in + . + * lib/regex_internal.h (lock_define, lock_init, lock_fini): + Support either the 'lock' module, or the 'pthread' module, or + no module. + (lock_lock, lock_unlock): New macros. + * lib/regexec.c (regexec, re_search_stub): Use the new macros. + * modules/lock, modules/pthread (configure.ac): Add module indicator. + * modules/regex (Depends-on): Remove pthread. + +2013-05-22 Eric Blake + + getgroups: document portability issues + * doc/glibc-functions/initgroups.texi (initgroups): Mention + multithread safety. + * doc/posix-functions/getpwuid.texi (getpwuid): Likewise. + * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise. + * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention + getugroups. + * doc/posix-functions/getgroups.texi (getgroups): Mention + multithread safety and mgetgroups. + +2013-05-22 Bernhard Voelker + + test-lchown, test-chown: also skip test if chown fails with EPERM + * tests/test-lchown.h (test_lchown): Add EPERM to the condition to + skip this test, to handle FAT file systems. + * tests/test-chown.h (test_chown): Likewise. + +2013-05-19 Paul Eggert + + regex: fix dfa race in multithreaded uses + Problem reported by Ludovic Courtès in + . + * lib/regex_internal.h (lock_define, lock_init, lock_fini): + New macros. All uses of __libc_lock_define, __libc_lock_init + changed to use the first two of these. + (__libc_lock_lock, __libc_lock_unlock): New macros, for + non-glibc platforms. + (struct re_dfa_t): Define the lock unconditionally. + * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect + '#ifdef _LIBC"s. + * modules/regex (Depends-on): Add pthread, if we use the + included regex. + + * lib/regcomp.c: Do actions that are not needed for glibc, + but may be needed elsewhere. + (regfree, re_compile_internal): Destroy the lock. + (re_compile_internal): Check for lock-initialization failure. + + malloca: port to compilers that reject size-zero arrays + This fixes a bug introduced in my previous patch. + * lib/malloca.c (struct preliminary_header): Use an int + rather than a character array of size int; that's simpler. + (struct header): Remove, replacing with ... + (union header): New type. This avoids the need for declaring a + character array of size zero, which is not allowed on some platforms. + All uses changed. + +2013-05-18 Paul Eggert + + parse-datetime, tests: don't use "string" + int + Recent versions of 'clang' complain about C source code that + uses expressions of the form '"string literal" + integer', + I guess on the theory that it's confusing for readers who are + used to C++. On those grounds I suppose it's OK to make this + minor style change. + * lib/parse-datetime.y (parse_datetime): + * tests/test-fchdir.c (main): + * tests/test-snprintf-posix.h (test_function): + * tests/test-snprintf.c (main): + * tests/test-vasnprintf-posix.c (test_function): + * tests/test-vasnprintf.c (test_function): + * tests/test-vsnprintf.c (main): + * tests/unistdio/test-ulc-asnprintf1.h (test_function): + Rewrite '"str" + E' to '&"str"[E]'. + +2013-05-17 Alexandre Duret-Lutz + + argmatch: port to C++ + * lib/argmatch.h [__cplusplus]: Add extern "C". + + argp: typo fix + * lib/argp-help.c: Typo in comment. + +2013-05-15 Paul Eggert + + manywarnings: update for GCC 4.8.0 + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): + Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which + are new to GCC 4.8. Remove -Wformat=2, -Wmissing-format-attribute, + -Wmissing-noreturn, as they are duplicates of other warnings. + Remove -Wunreachable-code, as it is removed in GCC 4.8 and + was documented to be flaky in earlier versions of GCC. + + spawn-tests, sys_socket-tests, sys_wait-tests: port to clang + * tests/test-spawn.c (main): + * tests/test-sys_socket.c (main): + * tests/test-sys_wait.c (main): + Don't have a switch value that isn't covered by a case. + + getaddrinfo-tests: port --enable-gcc-warnings to clang + * tests/test-getaddrinfo.c (simple): + Avoid casts from looser to stricter-aligned pointers. + + thread: port --enable-gcc-warnings to clang + * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]: + Include , to pacify a warning about pthread_sigmask. + + stdio: use __REDIRECT for fwrite, fwrite_unlocked + * lib/stdio.in.h (fwrite): + When working around bug 11959, use __REDIRECT rather than '#define + fwrite(...) ... fwrite (...) ...'. This is a more-targeted way to + fix the -Wunused-value issue with clang, and it works with GCC too. + Problem with targeting reported by Eric Blake in + . + (fwrite_unlocked): Treat like fwrite. I ran into this issue while + debugging the fwrite issue. + + stdio: port --enable-gcc-warnings to clang + * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely, + since the GCC workaround for fwrite does not pacify clang. + + sig2str: port --enable-gcc-warnings to clang + * lib/sig2str.c (sig2str): Avoid warning about unused printf argument. + + obstack: port --enable-gcc-warnings to clang + * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast): + Avoid casts from looser to stricter-aligned pointers. + + memchr2: port --enable-gcc-warnings to clang + * lib/memchr2.c (memchr2): + Avoid casts from looser to stricter-aligned pointers. + + mbsstr: port --enable-gcc-warnings to clang + * lib/mbsstr.c (knuth_morris_pratt_multibyte): + Avoid casts from looser to stricter-aligned pointers. + + malloca: port --enable-gcc-warnings to clang + * lib/malloca.c (struct header): New member 'magic', to avoid casts. + (mmalloca): Avoid casts from looser to stricter-aligned pointers. + + inttostr: port --enable-gcc-warnings to clang + * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare. + + warnings: port to clang + Problem reported by Daniel P. Berrange via Eric Blake in + . + * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro. + (gl_WARN_ADD): Use it. + +2013-05-11 Jim Meyering + + quotearg: do not read beyond end of buffer + * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the + end of an ARG for which no length was specified. With an N-byte + quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function + would read N-2 bytes beyond ARG's trailing NUL. This was triggered + via coreutils' misc/sort-debug-keys.sh test and detected by running + the test against a binary compiled with gcc-4.8.0's -fsanitize=address. + * tests/test-quotearg-simple.c (main): Add a test to trigger the bug. + * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h. + Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte + characters correctly." + +2013-05-11 Daiki Ueno + + lock: work around pthread recursive mutexes bug in Mac OS X 10.6 + * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the + compilation target is Mac OS X 10.6. + Problem reported by parafin and Andoni Morales in + and + . + +2013-05-11 Paul Eggert + + mkdir-p: remove assumptions about umask and mode + * lib/mkdir-p.c (make_dir_parents): Do not assume that the current + umask is 0, or that MODE is a subset of MODE_BITS. + +2013-05-10 Eric Blake + + maint.mk: catch more abuse of HAVE_DECL in syntax-check + * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex. + +2012-05-10 Stefano Lattarini + + deps: require Automake >= 1.9.6 in generated Makefile fragments + + That is the same minimal version required in the DEPENDENCIES file. + Moreover, the old code generated a requirement of Automake >= 1.5, + and that is an insanely outdated version. + + * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS. + * tests/havelib/rpathlx/Makefile.am: Likewise. + * tests/havelib/rpathly/Makefile.am: Likewise. + * tests/havelib/rpathlyx/Makefile.am: Likewise. + * tests/havelib/rpathlz/Makefile.am: Likewise. + * tests/havelib/rpathlzyx/Makefile.am: Likewise. + * tests/havelib/rpathx/Makefile.am: Likewise. + * tests/havelib/rpathy/Makefile.am: Likewise. + * tests/havelib/rpathz/Makefile.am: Likewise. + +2013-05-08 Eric Blake + + bootstrap: AC_INIT may have more than four parameters + * build-aux/bootstrap (extract_package_name): Correctly extract + non-empty tarname field. Avoid range in regex. + Based on a report by Sami Kerola . + +2013-05-07 Paul Eggert + + qacl: port to MS-Windows port of GNU Emacs + * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]: + Omit the duplicate ENOTSUP case. Needed for the MS-Windows + port of GNU Emacs. Problem reported by Eli Zaretskii in + . + +2013-05-07 Mike Frysinger + + acl: include quote.h + * lib/copy-acl.c: Include quote.h. + * lib/set-acl.c: Likewise. + +2013-05-06 Mike Frysinger + + fchownat, renameat, unlinkat: update statat dependencies + These modules use statat and lstatat, not fstatat; so depend on + the statat module, which was split out recently from fstatat. + * modules/fchownat, modules/unlinkat: Change fstatat to statat. + * modules/renameat: Likewise. Also delete fstat. + URL: http://bugs.gentoo.org/468790 + +2012-05-04 Stefano Lattarini + + Assume gnulib is checked out from Git, not CVS + + In fact, access to the gnulib repository through CVS has been + disabled, or more precisely, got broken and was never restored; see: + + + Note that support for CVS is not removed completely and unthinkingly + by this change: only support for CVS checkouts of gnulib itself is + removed. For example, the 'bootstrap' script still cater to .cvsingore + files and CVS directories, for the benefit of those poor gnulib clients + still stuck with CVS. Ditto for the 'gnulib-tool' script itself. + + * gnulib-tool: Simplify accordingly. + * posix-modules: Likewise. + * MODULES.html.sh: Likewise. + * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib + repository. + * doc/gnulib-intro.texi: Likewise. + * doc/gnulib-readme.texi: Likewise. + * doc/gnulib-tool.texi: In the examples and explanations, refer to a + sample '.gitignore' file rather than a sample '.cvsignore'. + * NEWS: Update. + * m4/extensions.m4: While at it, remove a comment mistakenly referring + to "CVS Autoconf" rather than "git Autoconf". + +2013-04-30 Paul Eggert + + utimensat-tests, etc.: try to fix some races + Problem reported by Bernhard Voelker in + . + I don't know whether this patch fixes that race condition, but it + fixes *some* race conditions, so it should be a win. + * modules/chown-tests (Depends-on): + * modules/fchownat-tests (Depends-on): + * modules/fdutimensat-tests (Depends-on): + * modules/futimens-tests (Depends-on): + * modules/lchown-tests (Depends-on): + * modules/stat-time-tests (Depends-on): + * modules/utimens-tests (Depends-on): + * modules/utimensat-tests (Depends-on): + Depend on nanosleep, not usleep. + * modules/chown-tests (test_chown_LDADD): + * modules/lchown-tests (test_lchown_LDADD): + * modules/stat-time-tests (test_stat_time_LDADD): + New macro. + * modules/fchownat-tests (test_fchownat_LDADD): + * modules/fdutimensat-tests (test_fdutimensat_LDADD): + * modules/futimens-tests (test_futimens_LDADD): + * modules/utimens-tests (test_utimens_LDADD): + * modules/utimensat-tests (test_utimensat_LDADD): + Add $(LIB_NANOSLEEP). + * modules/stat-time-tests (Files): Add tests/nap.h. + * tests/nap.h: Include , for INT_MAX. + (lt_mtime): Remove. + (diff_timespec): New function. + (get_stat): Rename from get_mtime. All callers changed. + (nap_works): Determine the needed delay by inspecting the + file system's timestamp jumps; this should be more reliable. + Look at both mtime and ctime, and take the maximum of the two jumps. + (nap_works, guess_delay): + Return a nanosecond cound, not a microsecond count. + All callers changed. + (nap_works, nap): Use nanosleep, not usleep. Check for nanosleep + failure. + (nap): Multiply the guess by 1.125, to accommodate the case where + the file system's clock is a bit slower than nanosleep's clock. + * tests/test-stat-time.c (BASE): New macro. + Include nap.h. + (nap): Remove; nap.h now defines this. This removes a duplicate + implementation of 'nap'. + + utimens, utimensat: work around Solaris UTIME_OMIT bug + Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that + Linux kernel 2.6.32 does. Work around it in the same way. + * doc/posix-functions/futimens.texi (futimens): + * doc/posix-functions/utimensat.texi (utimensat): Document the bug. + * lib/utimens.c (fdutimens, lutimens): + * lib/utimensat.c (rpl_utimensat): Work around the bug. + + gettext: now it's your responsibility to add -I$(top_builddir)/intl + Formerly, it was your responsibility to do this for all Makefile.ams + other than Gnulib's. Now it's your responsibility to do it for + Gnulib's Makefile.am, too. + * NEWS: Document this. + * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl. + + acl: include errno.h to get errno + Reported by Daiki Ueno in + . + * lib/copy-acl.c, lib/set-acl.c: Include errno.h. + +2013-04-29 Paul Eggert + + tests: don't assume getdtablesize () <= 10000000 + * modules/cloexec-tests: + * modules/dup2-tests: + * modules/dup3-tests: + * modules/nonblocking-tests: + * modules/posix_spawn_file_actions_addclose-tests: + * modules/posix_spawn_file_actions_adddup2-tests: + * modules/posix_spawn_file_actions_addopen-tests: + * modules/unistd-safer-tests: + Depend on the getdtablesize module. + * tests/test-cloexec.c: + * tests/test-dup-safer.c: + * tests/test-dup2.c: + * tests/test-dup3.c: + * tests/test-fcntl.c: + * tests/test-nonblocking.c: + * tests/test-posix_spawn_file_actions_addclose.c: + * tests/test-posix_spawn_file_actions_adddup2.c: + * tests/test-posix_spawn_file_actions_addopen.c: + Don't assume getdtablesize () <= 10000000. + +2013-04-28 Paul Eggert + + extern-inline: work around bug in Sun c99 + * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): + Work around bug in Sun C 5.12 c99's implementation of 'inline'. + +2013-04-27 Paul Eggert + + qacl: new module, broken out from the acl module + This is for GNU Emacs, which wants the acl functions but does + not want 'error' invoked when they fail. + * lib/acl-internal.h: Do not include error.h, quote.h. + (ENOSYS, ENOTSUP): Remove; no longer needed. + (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid. + * lib/acl.h: Include . + (acl_errno_valid): New function. + * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h. + * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c. + * lib/set-acl.c: Rename from lib/set-mode-acl.c. + (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c. + (ACL_INTERNAL_INLINE): Remove; no longer needed. + * lib/file-has-acl.c (file_has_acl): + * lib/qcopy-acl.c (qcopy_acl): + * lib/qset-acl.c (qset_acl): + Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED. + * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h, + lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c), + lib/file-has-acl.c, m4/acl.m4 to qacl module. + Add lib/set-acl.c. + (Depends-on): Move extern-inline, fstat, sys_stat to qacl module. + Add qacl. + (configure.ac): Move gl_FUNC_ACL to qacl module. + (lib_SOURCES): Remove file-has-acl.c (moved to qacl module). + Rename set-mode-acl.c to set-acl.c. + * lib/acl-errno-valid.c: New file. + * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the + copy_acl function remains in copy-acl.c. + * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h. + (_): Remove; not needed. + * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the + set_acl function remains in set-acl.c (renamed from set-mode-acl.c). + * modules/qacl: New file, moved from the old modules/acl. + (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c. + Remove set-mode-acl.c, copy-acl.c. + (Depends-on): Remove error, gettext-h, quote. Add stdbool. + + alignof, intprops, malloca: port better to IBM's C compiler + * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__. + * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1. + * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__. + +2013-04-25 Daiki Ueno + + wctype-h: fix gettext link error on mingw + Reported by Josue Andrade Gomes and Takayuki Tsunakawa in + . + * lib/wctype.in.h [__MINGW32__]: Include before defining + rpl_towupper and rpl_towupper. + +2013-04-11 Dmitry V. Levin + + regex-tests, regex: allow glibc re_search behavior + * tests/test-regex.c (main): In test for glibc bug 15078, reformat + re_search input data to make the multi-character collating element + in it clearly visible, and treat re_search return code 0 as valid. + * m4/regex.m4 (gl_REGEX): Likewise. + +2013-03-30 Paul Eggert + + stdalign: doc fix + * doc/posix-headers/stdalign.texi (stdalign.h): + Gnulib doesn't support '_Alignof expr'. + +2013-03-29 Paul Eggert + + stdalign: port to stricter ISO C11 + ISO C11 says that _Alignof's operand must be a parenthesized type. + Problem reported by Eli Zaretskii in + . + * doc/posix-headers/stdalign.texi (stdalign.h): Document this. + * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr). + 2013-03-21 Paul Eggert sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin @@ -937,38 +1447,38 @@ * lib/c-vasnprintf.h: New file. New module 'c-snprintf'. - * modules/c-snprintf: New file. - * modules/c-snprintf-tests: New file. - * lib/c-snprintf.c: New file. - * lib/c-snprintf.h: New file. - * tests/test-c-snprintf.c: New file. - * tests/test-c-snprintf.sh: New file. + * modules/c-snprintf: New file. + * modules/c-snprintf-tests: New file. + * lib/c-snprintf.c: New file. + * lib/c-snprintf.h: New file. + * tests/test-c-snprintf.c: New file. + * tests/test-c-snprintf.sh: New file. New module 'c-vsnprintf'. - * modules/c-vsnprintf: New file. - * modules/c-vsnprintf-tests: New file. - * lib/c-vsnprintf.c: New file. - * lib/c-vsnprintf.h: New file. - * tests/test-c-vsnprintf.c: New file. - * tests/test-c-vsnprintf.sh: New file. + * modules/c-vsnprintf: New file. + * modules/c-vsnprintf-tests: New file. + * lib/c-vsnprintf.c: New file. + * lib/c-vsnprintf.h: New file. + * tests/test-c-vsnprintf.c: New file. + * tests/test-c-vsnprintf.sh: New file. New module 'c-vasprintf'. - * modules/c-vasprintf: New file. - * modules/c-vasprintf-tests: New file. - * lib/c-asprintf.c: New file. - * lib/c-vasprintf.c: New file. - * lib/c-vasprintf.h: New file. - * tests/test-c-vasprintf.c +: New file. - * tests/test-c-vasprintf.sh: New file. + * modules/c-vasprintf: New file. + * modules/c-vasprintf-tests: New file. + * lib/c-asprintf.c: New file. + * lib/c-vasprintf.c: New file. + * lib/c-vasprintf.h: New file. + * tests/test-c-vasprintf.c +: New file. + * tests/test-c-vasprintf.sh: New file. New module 'c-xvasprintf'. - * modules/c-xvasprintf: New file. - * modules/c-xvasprintf-tests: New file. - * lib/c-xasprintf.c: New file. - * lib/c-xvasprintf.c: New file. - * lib/c-xvasprintf.h: New file. - * tests/test-c-xvasprintf.c: New file. - * tests/test-c-xvasprintf.sh: New file. + * modules/c-xvasprintf: New file. + * modules/c-xvasprintf-tests: New file. + * lib/c-xasprintf.c: New file. + * lib/c-xvasprintf.c: New file. + * lib/c-xvasprintf.h: New file. + * tests/test-c-xvasprintf.c: New file. + * tests/test-c-xvasprintf.sh: New file. 2012-12-18 Paul Eggert