+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.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ langinfo: Fix last commit.
+ * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
+ HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
+ * lib/progreloc.c (O_EXEC): Define fallback.
+
+2010-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
+ * NEWS: Document recent changes to fcntl-h.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Document that
+ O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
+ Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
+ Similarly for O_SEARCH; this last was already true, but not documented.
+ * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
+ * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
+ * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
+ Likewise.
+ * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
+ is zero, not whether it is defined.
+ * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
+ * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
+ * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ langinfo, nl_langinfo: Fix for IRIX 5.3.
+ * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
+ T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
+ HAVE_LANGINFO_YESEXPR.
+ * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
+ HAVE_LANGINFO_YESEXPR.
+ * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
+ HAVE_LANGINFO_T_FMT_AMPM is 0.
+ (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
+ HAVE_LANGINFO_YESEXPR is 0.
+ * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
+ NOEXPR.
+ * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
+ * doc/posix-functions/nl_langinfo.texi: Likewise.
+ Reported by Eric Blake.
+
+2010-09-10 Bruno Haible <bruno@clisp.org>
+
+ pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
+ * doc/glibc-functions/login_tty.texi: Mention the include file problem
+ on FreeBSD 8.0 and OpenBSD 4.6.
+ * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
+ * m4/pty_h.m4 (gl_PTY_H): Likewise.
+ * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
+ * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
+ Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
+ ac_includes_default.
+ Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
+
+2010-09-09 Eric Blake <eblake@redhat.com>
+
+ strsignal: work around NetBSD bug
+ * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
+ * lib/string.in.h (includes): Likewise.
+ * doc/posix-functions/strsignal.texi (strsignal): Document the
+ bug.
+ Reported by Nelson H. F. Beebe.
+
+ gnulib-tool: work with NetBSD /bin/sh
+ * gnulib-tool (func_cache_var, func_cache_lookup_module)
+ (func_get_description, func_get_comment, func_get_status)
+ (func_get_notice, func_get_applicability, func_get_filelist)
+ (func_get_dependencies, func_get_autoconf_early_snippet)
+ (func_get_autoconf_snippet, func_get_automake_snippet)
+ (func_get_include_directive, func_get_link_directive)
+ (func_get_license, func_get_maintainer, func_import): Avoid
+ shell syntax errors from parsing syntax extensions.
+
+2010-09-09 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
+ * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
+ a reliable way to determine whether the 'alias' command works.
+
+2010-09-08 Jim Meyering <meyering@redhat.com>
+
+ init.sh: penalize a set-x-impaired shell; don't disqualify it
+ * tests/init.sh: Too many shells corrupt application stderr when
+ you set -x, so we can't afford to disqualify them, since at least
+ on Irix-6.5, that would disqualify all bourne shells.
+ Instead, use a two-pass approach.
+ On the first pass, try to find a shell that meets the stricter
+ condition that set -x does not corrupt stderr.
+ If no shell meets the stricter condition, retest each candidate
+ shell, but without that extra condition. Finally, when
+ VERBOSE=yes is requested and set -x might cause trouble, simply
+ issue a warning and refrain from enabling debug output.
+
+2010-09-08 Eric Blake <eblake@redhat.com>
+
+ unsetenv: fix OpenBSD bug
+ * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
+ * doc/posix-functions/unsetenv.texi (unsetenv): Update
+ documentation.
+ Reported by Jim Meyering.
+
+ strtod: work around IRIX 6.5 bug
+ * lib/strtod.c (strtod): Reparse number on shorter string if
+ exponent parse was invalid.
+ * tests/test-strtod.c (main): Add check for "0x1p 2".
+ Reported by Tom G. Christensen.
+
+ getopt: optimize previous patch
+ * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
+ empty variable. Speed up awk script.
+ Reported by Paolo Bonzini.
+
2010-09-08 Jim Meyering <meyering@redhat.com>
test.sh: disqualify shells for which set -x corrupts stderr
glibc, and refer the reader there. Keep BSD API documentation, as
that is not readily available elsewhere.
-2010-09-08 Eric Blake <eblake@redhat.com>
-
- getopt: optimize previous patch
- * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
- empty variable. Speed up awk script.
- Reported by Paolo Bonzini.
-
2010-09-07 Eric Blake <eblake@redhat.com>
getopt: handle POSIXLY_CORRECT set but not exported