+2006-11-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/openat.h (rpl_fstatat): New macro, if
+ [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
+ (fstatat): Define to rpl_fstatat under the same conditions,
+ unless COMPILING_FSTATAT.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
+ seems to have the bug.
+ * lib/fstatat.c: New file.
+ * modules/openat (Files): Add it.
+
+2006-11-20 Bruno Haible <bruno@clisp.org>
+
+ * Makefile: New file.
+
+2006-11-20 Jim Meyering <jim@meyering.net>
+
+ * lib/idcache.c: Adjust comments in user- and group- portions to
+ be more accurate, and to be consistent with one another.
+
+2006-11-20 Andreas Schwab <schwab@suse.de> (tiny change)
+
+ Avoid syntax error in test program.
+ * m4/gettext.m4 (AM_GNU_GETTEXT): When inside a [...] context,
+ quote with "[...]", not "[[...]]".
+
+2006-11-20 Jim Meyering <jim@meyering.net>
+
+ * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
+ continue using the flexible array member (thus, this module performs
+ half as many malloc calls), with the addition that...
+ (getgroup, getuser): Consistently record a non-match via an empty
+ "name" string, and map an empty string match to a NULL return value.
+ * modules/idcache (Depends-on): Re-add flexmember.
+
+ * lib/idcache.c (getuser): Remove all uses of the register keyword.
+ (getuidbyname, getgroup, getgidbyname): Likewise.
+
+ Use cleaner syntax: NULL rather than 0.
+ * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
+
+2006-11-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
+ It mishandled the case where the group was missing.
+ Problem reported by Greg Schafer.
+ * modules/idcache: Likewise.
+
2006-11-18 Jim Meyering <jim@meyering.net>
* check-module (%exempt_header): Add exception for some