+2010-10-02 Bruno Haible <bruno@clisp.org>
+
+ Update doc for POSIX:2008.
+ * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
+ Update URL of POSIX specification.
+
+2010-10-02 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
+ * gnulib-tool (func_create_testdir): Use config.guess and config.sub
+ from gnulib, not from Automake.
+
+2010-10-02 Bruno Haible <bruno@clisp.org>
+
+ New module 'system-posix'.
+ * modules/system-posix: New file.
+ * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
+ module is present.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
+ GNULIB_SYSTEM_POSIX.
+ * modules/stdlib (Depends-on): Remove sys_wait.
+ (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
+ * doc/posix-functions/system.texi: Mention the new module.
+ * doc/posix-headers/stdlib.texi: Likewise.
+ * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
+ define test_sys_wait_macros to a no-op.
+ Reported by Sam Steingold <sds@gnu.org>.
+
+2010-09-30 Bruno Haible <bruno@clisp.org>
+
+ More renaming from 'getdate' to 'get_date'.
+ * doc/get_date.texi: Renamed from doc/getdate.texi.
+ * modules/get_date (Files): Update.
+ * MODULES.html.sh (Date and time <time.h>): Update.
+ * DEPENDENCIES: Update.
+ * gnulib-tool: Update comment.
+ * m4/bison.m4 (gl_BISON): Likewise.
+ * m4/get_date.m4 (gl_GET_DATE): Likewise.
+
+2010-09-30 Justin Clift <jclift@redhat.com> (tiny change)
+
+ bootstrap: support ACLOCAL_FLAGS during aclocal
+ * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
+ can add additional -I dir for third-party .m4 files.
+
+2010-09-30 Eric Blake <eblake@redhat.com>
+
+ bootstrap: use glibtoolize on MacOS
+ * build-aux/bootstrap (check_versions): Convert libtool into
+ libtoolize.
+ (tool search): Move libtool check earlier, and look for
+ glibtoolize for MacOS.
+ (gnulib_tool_options): Auto-add --libtool when appropriate.
+ Reported by Justin Clift.
+
+ poll: fix typo that broke test on MacOS
+ * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
+ Reported by Justin Clift.
+
+ getdate: rename to get_date
+ Note: getdate.h is not renamed, to minimize client impact.
+ * modules/getdate: Mark obsolete. Move old contents...
+ * modules/get_date: ...to new module name.
+ * modules/getdate-tests: Move...
+ * modules/get_date-tests: ...here.
+ * m4/getdate.m4: Move...
+ * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
+ * lib/getdate.y: Move...
+ * lib/get_date.y: ...here.
+ * tests/test-getdate.c: Move...
+ * tests/test-get_date.c: ...here.
+ * doc/posix-functions/getdate.texi (getdate): Update name.
+ * NEWS: Mention the change.
+
+2010-09-29 Bruno Haible <bruno@clisp.org>
+
+ Separate the module 'waitpid' from the module 'sys_wait'.
+ * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
+ present.
+ * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
+ gl_MODULE_INDICATOR_FOR_TESTS.
+ (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
+ * modules/sys_wait (Depends-on): Remove waitpid.
+ (Makefile.am): Substitute GNULIB_WAITPID.
+ * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
+ * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
+ signature only if the 'waitpid' module is present.
+ * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
+ * NEWS: Mention the change.
+ * modules/grantpt (Depends-on): Add waitpid.
+ * modules/wait-process (Depends-on): Likewise.
+
+2010-09-29 Bruno Haible <bruno@clisp.org>
+
+ More tests for module 'sys_wait'.
+ * modules/sys_wait-c++-tests: New file.
+ * tests/test-sys_wait-c++.cc: New file.
+ * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
+ Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
+
+2010-09-29 Bruno Haible <bruno@clisp.org>
+
+ New module 'waitpid'.
+ * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
+ * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
+ Don't include <process.h>.
+ (waitpid): Declare only, using modern idiom.
+ * m4/waitpid.m4: New file.
+ * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
+ * modules/waitpid: New file.
+ * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
+ (Makefile.am): Update.
+ Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
+
+2010-09-28 Bruno Haible <bruno@clisp.org>
+
+ poll: Assume ANSI C.
+ * lib/poll.c (poll): Use an ANSI C declaration.
+
+2010-09-28 Bruno Haible <bruno@clisp.org>
+
+ poll-h: Create poll.h on all platforms.
+ * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
+ struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
+ * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
+ gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
+ (gl_REPLACE_POLL_H): Don't set POLL_H.
+ (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
+ * modules/poll-h (Depends-on): Add include_next.
+ (Makefile.am): Create poll.h unconditionally. Substitute also
+ HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
+
+2010-09-28 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'poll-h'.
+ * modules/poll-h-c++-tests: New file.
+ * tests/test-poll-h-c++.cc: New file.
+
+ Tests for module 'poll-h'.
+ * modules/poll-h-tests: New file.
+ * tests/test-poll-h.c: New file.
+
+2010-09-28 Bruno Haible <bruno@clisp.org>
+
+ poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
+ * modules/poll-h (Depends-on): Add 'extensions'.
+
+2010-09-28 Bruno Haible <bruno@clisp.org>
+
+ New module 'poll-h'.
+ * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
+ (poll): Use modern idiom.
+ * modules/poll-h: New file.
+ * modules/poll (Files): Remove lib/poll.in.h.
+ (Depends-on): Add poll-h.
+ (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
+ (Makefile.am): Move code for generation of poll.h to modules/poll-h.
+ * m4/poll_h.m4: New file.
+ * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
+ here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
+ and invoke gl_REPLACE_POLL_H.
+ * lib/poll.c: Use common idiom.
+ * tests/test-poll.c: Likewise.
+ * doc/posix-headers/poll.texi: Mention the poll-h module.
+ Suggested by Eric Blake.
+
+2010-09-26 Bruno Haible <bruno@clisp.org>
+
+ sys_wait: Implement WSTOPSIG.
+ * lib/sys_wait.in.h (WSTOPSIG): New macro.
+ Reported by Simon Josefsson.
+
+2010-09-26 Simon Josefsson <simon@josefsson.org>
+
+ stdlib, sys_wait: Avoid compilation error on mingw.
+ * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
+
+2010-09-26 Bruno Haible <bruno@clisp.org>
+
+ stdlib tests: Avoid code duplication.
+ * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
+ * modules/sys_wait-tests (Files): Likewise.
+ * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
+ * tests/test-stdlib.c: Include test-sys_wait.h.
+ (main): Invoke test_sys_wait_macros.
+ * tests/test-sys_wait.c: Include test-sys_wait.h.
+ (main): Invoke test_sys_wait_macros.
+
+2010-09-25 Simon Josefsson <simon@josefsson.org>
+
+ * modules/getaddrinfo (Depends-on): Depend on the sockets module.
+ * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
+ sure Windows sockets are working before calling getaddrinfo.
+ * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
+ * doc/gnulib.texi (Windows sockets): Fix typo.
+
+2010-09-25 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'regex-quote'.
+ * modules/regex-quote-tests: New file.
+ * tests/test-regex-quote.c: New file.
+
+ New module 'regex-quote'.
+ * lib/regex-quote.h: New file.
+ * lib/regex-quote.c: New file.
+ * modules/regex-quote: New file.
+ Suggested by Reuben Thomas <rrt@sc3d.org>.
+
+2010-09-24 Bruno Haible <bruno@clisp.org>
+
+ unistr/u8-strchr: Fix a test failure on i586 glibc systems.
+ * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
+
+2010-09-23 Bruno Haible <bruno@clisp.org>
+
+ setenv: Relax license.
+ * modules/setenv (License): Change to LGPLv2+, with consent by Eric
+ Blake.
+ Requested by Eric Blake.
+
+2010-09-22 Bruno Haible <bruno@clisp.org>
+
+ termios: Relax license.
+ * modules/termios (License): Change to LGPLv2+.
+ Requested by Eric Blake.
+
+2010-09-22 Bruno Haible <bruno@clisp.org>
+
+ threadlib: Allow the package to change the default to 'no'.
+ * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
+ gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
+ Reported by Paul Eggert.
+
+2010-09-22 Pádraig Brady <P@draigbrady.com>
+ Bruno Haible <bruno@clisp.org>
+
+ Fix endless loop in mbmemcasecoll.
+ * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
+ byte.
+ * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
+
+2010-09-22 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'memcoll'.
+ * modules/memcoll-tests: New file.
+ * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
+
+ memcoll, xmemcoll: Clarify size vs. length.
+ * modules/memcoll.c (memcoll0): Clarify specification.
+ * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
+ passed to collate_error.
+
+2010-09-22 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'memcasecmp'.
+ * modules/memcasecmp-tests: New file.
+ * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
+
+2010-09-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/pthread.in.h: Add split double-inclusion guard, and include
+ system <pthread.h> if there is one. Use @@-style as in other
+ .in.h files. Define PTHREAD_COND_INITIALIZER etc. only if system
+ pthread.h doesn't.
+ (pthread_mutexattr_destroy, pthread_mutexattr_init):
+ (pthread_mutexattr_settype, pthread_mutex_trylock):
+ New static inline functions, if there's no system <pthread.h>.
+ (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
+ (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
+ Approximate with mutexes if the system lacks spinlocks, as in
+ MacOS.
+ * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
+ Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
+ @@-style. Check for spinlocks separately.
+ (gl_PTHREAD_DEFAULTS): New macro.
+ * modules/pthread: Redo to use a more typical style for in.h files.
+
+2010-09-21 Eric Blake <eblake@redhat.com>
+
+ net_if: enhance tests
+ * tests/test-net_if.c (main): Move signature checks earlier.
+ Print failures to stderr.
+ * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
+ Document the bug that we do not yet fix.
+
+2010-09-21 Reuben Thomas <rrt@sc3d.org>
+
+ * doc/gnulib.texi (Out of memory handling): Rewrite section to be
+ about gnulib, not GSS.
+
+2010-09-21 Reuben Thomas <rrt@sc3d.org>
+
+ * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
+ * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
+ for Emacs.
+ * build-aux/pmccabe2html: Make Makefile.am example code more
+ cut-and-paste friendly.
+
+2010-09-21 Simon Josefsson <simon@josefsson.org>
+
+ * tests/test-net_if.c: New file.
+ * modules/net_if-tests: New file.
+
+2010-09-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ pthread: add pthread_spin_destroy
+ * lib/pthread.in.h (pthread_spin_destroy): New function.
+
+2010-09-19 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Fix --help output.
+ * gnulib-tool (func_usage): Fix help message.
+ Reported by Reuben Thomas <rrt@sc3d.org>.
+
+2010-09-18 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: avoid unexpanded \n in two diagnostics
+ * top/maint.mk (sc_prohibit_always_true_header_tests):
+ Don't use a literal \n in a halt=... assignment. It would not be
+ expanded, and the two \n bytes would appear in the diagnostic output
+ rather than the desired newline. Use halt=$$(printf ... instead.
+ (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
+
+2010-09-18 Bruno Haible <bruno@clisp.org>
+
+ netinet_in: Doc tweak.
+ * doc/posix-headers/netinet_in.texi: Mention an affected platform.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-18 Jim Meyering <meyering@redhat.com>
+
+ init.sh: correct an outdated comment
+ * tests/init.sh (create_exe_shims_): s/function/alias/
+
+ init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
+ * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
+ a file named "*.exe" is removed between the glob expansion and the
+ processing of that oddly named file.
+
+2010-09-17 Eric Blake <eblake@redhat.com>
+
+ mirbsd: add some more support
+ * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
+ in BSD family.
+ * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
+ devices as OpenBSD.
+ * m4/host-os.m4 (mirbsd): Add MirBSD.
+
+ tests: fix unportable assumption on sys/wait.h
+ * tests/test-sys_wait.c (main): Relax test.
+ * tests/test-stdlib.c (main): Likewise.
+
+ init.sh: accomodate directory with no .exes
+ * tests/init.sh: Accomodate directory containing only scripts.
+
+ tests: avoid compiler warning
+ * tests/test-stdlib.c (main): Use the variable.
+
+ fdutimens, fdutimensat: update signature, again
+ * lib/utimens.h (gl_futimens): Delete, and move signature...
+ (fdutimens): ...here.
+ (fdutimensat): Rearrange signature.
+ (lutimensat): Rename variable for clarity.
+ * lib/fdutimensat.c (fdutimensat): Update signature.
+ * lib/utimens.c (fdutimens): Likewise.
+ (gl_futimens): Delete.
+ (utimens, lutimens): Update callers.
+ * lib/futimens.c (futimens): Likewise.
+ * tests/test-fdutimensat.c: Likewise.
+ * tests/test-utimens.c: Likewise.
+ * tests/test-futimens.h: Update comment.
+ * NEWS: Mention this.
+ Suggested by Paul Eggert.
+
+2010-09-17 Bruno Haible <bruno@clisp.org>
+
+ Take over the maintenance of some older macros from Autoconf.
+ * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
+ * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
+ GNU Autoconf.
+ * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
+ * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
+
+2010-09-17 Eric Blake <eblake@redhat.com>
+
+ fdutimensat: drop atflag validation
+ * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
+ with valid fd, to close a race scenario where futimens is
+ unsupported and FILE was replaced by a symlink.
+ * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
+ accordingly.
+ Suggested by Paul Eggert.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ unlockpt: Fix declaration within GNULIB_POSIXCHECK.
+ * lib/stdlib.in.h (unlockpt): Fix warning declaration.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
+ * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
+ login_tty exists.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ login_tty: Make the replacement code work on BSD systems.
+ * lib/login_tty.c: Include <sys/ioctl.h>.
+ (login_tty): Use ioctl TIOCSCTTY when available.
+ * modules/login_tty (Depends-on): Add sys_ioctl.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ login_tty: Stricter unit test.
+ * modules/login_tty-tests (Depends-on): Add tcgetsid.
+ * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
+ and tcgetsid() after login_tty.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ New module 'tcgetsid'.
+ * lib/tcgetsid.c: New file.
+ * m4/tcgetsid.m4: New file.
+ * modules/tcgetsid: New file.
+ * modules/termios (Depends-on): Add c++defs, warn-on-use.
+ (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
+ GNULIB_TCGETSID, HAVE_TCGETSID.
+ * lib/termios.in.h: Include <sys/types.h>.
+ (tcgetsid): New declaration.
+ * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
+ (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
+ * doc/posix-functions/tcgetsid.texi: Mention the new module.
+ * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'termios'.
+ * modules/termios-c++-tests: New file.
+ * modules/termios-tests: New file.
+ * tests/test-termios-c++.cc: New file.
+ * tests/test-termios.c: New file.
+
+ New module 'termios'.
+ * modules/termios: New file.
+ * lib/termios.in.h: New file.
+ * m4/termios_h.m4: New file.
+ * doc/posix-headers/termios.texi: Mention the new module.
+
+2010-09-16 Eric Blake <eblake@redhat.com>
+
+ fdutimensat: add an atflag parameter
+ * lib/fdutimensat.c (fdutimensat): Add new parameter.
+ * lib/utimens.h (fdutimensat): Update prototype.
+ * tests/test-fdutimensat.c: Adjust test to match.
+ * NEWS: Document the change.
+ Suggested by Paul Eggert.
+
+2010-09-16 Bruno Haible <bruno@clisp.org>
+
+ Fix typos in comments.
+ * lib/striconveh.h: Fix typo in comment.
+ * lib/login_tty.c (login_tty): Likewise.
+
+2010-09-15 Bruno Haible <bruno@clisp.org>
+
+ stdlib: clarify MirBSD WEXITSTATUS bug
+ * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
+ * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
+2010-09-15 Eric Blake <eblake@redhat.com>
+
+ stdlib: work around MirBSD WEXITSTATUS bug
+ * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
+ * modules/stdlib (Depends-on): Add sys_wait.
+ * tests/test-sys_wait.c (main): Enhance test.
+ * tests/test-stdlib.c (main): Likewise.
+ * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
+
+ docs: mention MacOS issue with WEXITSTATUS(constant)
+ * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
+ issue.
+ * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
+
+ strnlen: add tests
+ * modules/strnlen-tests: New file.
+ * tests/test-strnlen.c: Likewise.
+
+2010-09-14 Bruno Haible <bruno@clisp.org>
+
+ unistr/base: Avoid link errors when module 'libunistring' is also used.
+ * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
+ u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
+ u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
+ Declare also when HAVE_LIBUNISTRING is set.
+ Reported by Pádraig Brady <P@draigbrady.com>.
+
+2010-09-14 Eric Blake <eblake@redhat.com>
+
+ test-rawmemchr: make more robust
+ * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
+ (Depends-on, configure.ac): Add needed prerequisites to use it.
+ * modules/memchr-tests (Files, Depends-on, configure.ac):
+ Likewise, to avoid implicit reliance on memchr module prereqs.
+ * tests/test-memchr.c (main): Ensure proper masking.
+ * tests/test-rawmemchr.c (main): Likewise. Detect oversized
+ reads.
+
+ memchr: detect glibc Alpha bug
+ Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
+ * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
+ Alpha.
+ * doc/posix-functions/memchr.texi (memchr): Tweak wording.
+ * tests/test-memchr.c (main): Enhance test.
+ Reported by Nelson H. F. Beebe.
+
+2010-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ fts, getcwd, glob: audit for dirfd returning -1
+ * lib/fts.c (opendir): Remove #define; no longer used.
+ (opendirat): New arg PDIR_FD. All callers changed.
+ (fts_build, _opendir2): Use new opendirat to avoid the need for
+ dirfd, or for checking whether dirfd returns a negative value.
+ Don't use opendir; always use openat followed by fdopendir.
+ * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
+ it.
+ * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
+ returns -1 here.
+ * modules/fts (Depends-on): Remove dirfd.
+ * modules/getcwd (Depends-on): Likewise.
+
+2010-09-13 Eric Blake <eblake@redhat.com>
+
+ float: fix broken MirBSD header
+ * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
+ * doc/posix-headers/float.texi (float.h): Document it.
+
+2010-09-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ fts: use O_NOFOLLOW to avoid race condition when opening a directory
+ * lib/fts.c (opendirat): New arg extra_flags.
+ (__opendir2): Use it to avoid following symlinks when opening
+ a directory, if symlinks are not supposed to be followed. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
+
+ fdopendir: preserve argument fd before returning
+ * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
+ (fdopendir_with_dup, fd_clone_opendir): New static functions.
+ (fdopendir): Use them, arranging for FD to be open to the same
+ directory that it was when it started. (It might be temporarily
+ closed while fdopendir is running, so this not thread- or
+ signal-safe.) Be careful to do the right thing even when file
+ descriptors are scarce and dup fails with errno == EMFILE. See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
+
+2010-09-10 Paolo Bonzini <bonzini@gnu.org>
+
+ regex: Pass the system regex if its only problem is 32-bit regoff_t.
+ * NEWS: Document change.
+ * m4/regex.m4: Disable test for regoff_t size.
+
+2010-09-13 Jim Meyering <meyering@redhat.com>
+
+ fts: don't operate on an invalid file descriptor after failed dup
+ * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
+ negative file descriptor.
+
+2010-09-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ savedir: add streamsavedir, deprecate fdsavedir
+ * NEWS: Mention deprecation of fdsavedir.
+ * lib/savedir.c (streamsavedir): New extern function, whose name
+ ends in "savedir" to be consistent with the others. This differs
+ from savedirstream in that it doesn't close its argument. The
+ next version of GNU tar will use this instead of fdsavedir, to
+ avoid some race conditions and conserve file descriptors.
+ (savedirstream): Reimplement as a wrapper around streamsavedir.
+ (fdsavedir): Add a comment deprecating this function. As far as
+ I know, only GNU tar used it, and GNU tar doesn't need it any more.
+ * lib/savedir.h (streamsavedir): New decl.
+ (fdsavedir): Add a comment deprecating this.
+