+2009-10-10 Eric Blake <ebb9@byu.net>
+
+ utimens: validate futimens usage
+ * lib/utimens.c (gl_futimens): Require valid fd up front, using
+ fewer syscalls on failure later on. Avoid compiler warning on
+ mingw.
+ * modules/utimens (Depends-on): Add dup2.
+
+ utimens: add test
+ * modules/utimens-tests: New test.
+ * tests/test-utimens.h: New file.
+ * tests/test-futimens.h: Likewise.
+ * tests/test-utimens.c: Likewise.
+
+ doc: mention timestamp portability issues
+ * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
+ instead.
+ * doc/posix-functions/utime.texi (utime): Likewise.
+ * doc/posix-functions/utimes.texi (utimes): Likewise.
+ * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
+ instead.
+ * doc/posix-functions/futimens.texi (futimens): Mention utimens
+ module.
+ * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+ Mention weakness with symlink timestamps.
+ * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
+ to utimensat/futimens instead.
+ * doc/gnulib.texi (Glibc sys/time.h): Include new file.
+
+ test-dup2: enhance test
+ * tests/test-dup2.c (main): Also check AT_FDCWD.
+
+ test-stat-time: avoid more spurious failures
+ * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
+ xfs; and avoid race if the two timestamps cross quantization edge.
+
+ relocatable: prefer 'file system' over 'filesystem'
+ * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
+ (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
+ * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
+ * doc/relocatable.texi (Enabling Relocatability): Likewise.
+ * lib/relocatable.c (compute_curr_prefix): Likewise.
+
+2009-10-10 Jim Meyering <meyering@redhat.com>
+
+ stat-time-tests: check for the usleep function
+ * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
+
+2009-10-10 Bruno Haible <bruno@clisp.org>
+
+ * modules/xnanosleep: Put the Link section after the Include section.
+
+2009-10-09 Eric Blake <ebb9@byu.net>
+
+ dup2: work around FreeBSD 6.1 bug
+ * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
+ * doc/posix-functions/dup2.texi (dup2): Document it.
+ Reported by Nelson H. F. Beebe and Jim Meyering.
+
+ test-stat-time: port to buggy NFS clients
+ * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
+ (test_ctime): Also skip test if mtime and ctime are skewed.
+
+ maint: prefer 'file system' over 'filesystem'
+ * doc/posix-functions/fstatat.texi (fstatat): Likewise.
+ * doc/posix-functions/lstat.texi (lstat): Likewise.
+ * lib/file-has-acl.c (file_has_acl): Likewise.
+ * lib/fwriteerror.c [TEST]: Likewise.
+ * tests/test-areadlink.h (test_areadlink): Likewise.
+ * tests/test-areadlinkat-with-size.c (main): Likewise.
+ * tests/test-areadlinkat.c (main): Likewise.
+ * tests/test-canonicalize-lgpl.c (main): Likewise.
+ * tests/test-canonicalize.c (main): Likewise.
+ * tests/test-fstatat.c (main): Likewise.
+ * tests/test-linkat.c (main): Likewise.
+ * tests/test-lstat.h (test_lstat_func): Likewise.
+ * tests/test-mkdir.h (test_mkdir): Likewise.
+ * tests/test-readlink.h (test_readlink): Likewise.
+ * tests/test-remove.c (main): Likewise.
+ * tests/test-rename.h (test_rename): Likewise.
+ * tests/test-renameat.c (main): Likewise.
+ * tests/test-rmdir.h (test_rmdir_func): Likewise.
+ * tests/test-symlink.h (test_symlink): Likewise.
+ * tests/test-symlinkat.c (main): Likewise.
+ * tests/test-unlink.h (test_unlink_func): Likewise.
+ * tests/test-unlinkat.c (main): Likewise.
+
+ maint: make realtime library usage explicit
+ * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
+ * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
+ * modules/settime (Link): Likewise.
+ * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
+
+ test-stat-time: speed up execution
+ * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
+ warning on mingw.
+ (nap): New helper function.
+ (prepare_test): Use it to reduce sleep time.
+ (test_mtime, test_ctime, test_birthtime): Allow for subsecond
+ execution.
+ * modules/stat-time-tests (configure.ac): Check for usleep.
+
+2009-10-09 Jim Meyering <meyering@redhat.com>
+
+ selinux-h: always use getfilecon wrappers
+ * lib/getfilecon.c: New file.
+ * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
+ [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
+ [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
+ (fgetfilecon): Provide a stub.
+ * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
+ AC_SUBST SELINUX_SELINUX_H, since now we're generating that
+ file unconditionally.
+ When <selinux/selinux.h> is found, arrange to use wrappers.
+ * modules/selinux-h (Files): Add getfilecon.c.
+ (Makefile.am): Substitute include-next-related bits
+ into the now-always-generated selinux/selinux.h file.
+ * doc/glibc-functions/lgetfilecon.texi: New file.
+ * doc/glibc-functions/fgetfilecon.texi: New file.
+ * doc/glibc-functions/getfilecon.texi: New file.
+ * doc/glibc-functions/getfilecon-desc.texi: New file.
+ * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
+ which to pull in the new files.
+ * MODULES.html.sh (Misc): Add selinux-h.
+
+2009-10-08 Jim Meyering <meyering@redhat.com>
+
+ unistd: fix comment typo
+ * lib/unistd.in.h (euidaccess): Fix a comment typo.
+
+2009-10-08 Eric Blake <ebb9@byu.net>
+
+ areadlink: use SIZE_MAX consistently
+ * modules/areadlink (Depends-on): Add stdint.
+ * modules/areadlink-with-size (Depends-on): Likewise.
+ * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
+ gives NULL; drop sys/types, since unistd gives size_t; and add
+ stdint for SIZE_MAX.
+ (SIZE_MAX): Rely on headers.
+ * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
+ and add stdint.
+ * lib/areadlink.c (includes): Drop sys/types, and add stdint.
+ (SIZE_MAX): Likewise.
+ (INITIAL_BUF_SIZE): Turn into enum.
+ * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
+
+2009-10-08 Jim Meyering <meyering@redhat.com>
+
+ areadlinkat: avoid compilation failure
+ * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
+ Fix typo in comment.
+
2009-10-07 Eric Blake <ebb9@byu.net>
+ areadlinkat-with-size: new module
+ * modules/areadlinkat-with-size: New module.
+ * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
+ * lib/areadlink.h (areadlinkat): Declare it.
+ * MODULES.html.sh (File system functions): Mention it.
+ * modules/areadlinkat-with-size-tests: New test.
+ * tests/test-areadlinkat-with-size.c: New file.
+
+ xreadlinkat: new module
+ * modules/xreadlinkat: New module.
+ * lib/xreadlinkat.c (xreadlinkat): New file.
+ * lib/xreadlink.h (xreadlinkat): Declare it.
+ * MODULES.html.sh (File system functions): Mention it.
+
+ areadlinkat: new module
+ * lib/at-func.c (FUNC_FAIL): New define.
+ (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
+ * modules/areadlinkat: New module.
+ * lib/linkat.c (areadlinkat): Move...
+ * lib/areadlinkat.c (areadlinkat): ...to new file.
+ * lib/areadlink.h (areadlinkat): Declare it.
+ * modules/linkat (Depends-on): Add areadlinkat.
+ * MODULES.html.sh (File system functions): Mention it.
+ * modules/areadlinkat-tests: New test.
+ * tests/test-areadlinkat.c: New file.
+
+ areadlink, areadlink-with-size: add tests
+ * modules/areadlink-tests: New test.
+ * modules/areadlink-with-size-tests: Likewise.
+ * tests/test-areadlink.h: New file.
+ * tests/test-areadlink.c: Likewise.
+ * tests/test-areadlink-with-size.c: Likewise.
+
+ maint: minor cleanups
+ * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
+ _UNUSED_PARAMETER_ instead.
+ * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
+ * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
+ * modules/linkat-tests (Files): Distribute test-link.h.
+
openat, utimens: whitespace cleanup
* lib/openat.c: Prefer space throughout, rather than mix of 8
spaces vs. tabs.
2009-10-04 Paolo Bonzini <bonzini@gnu.org>
Bruno Haible <bruno@clisp.org>
- * lib/uname.c (uname): Use a table-driver algorithm to compute
+ * lib/uname.c (uname): Use a table-driven algorithm to compute
Windows NT versions.
2009-10-04 Bruno Haible <bruno@clisp.org>