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.