+2009-12-19 Eric Blake <ebb9@byu.net>
+
+ utimens: work around Linux ctime bug
+ * lib/utimens.c (detect_ctime_bug): New helper function.
+ (update_timespec): Differentiate between workaround needed for
+ this bug vs. what is needed for systems that lack utimensat.
+ (fdutimens, lutimens): Work around bug.
+
+ utimens: check for ctime update
+ * tests/test-utimens-common.h (check_ctime): Define.
+ * tests/test-utimens.h (test_utimens): Expose the Linux bug.
+ * tests/test-futimens.h (test_futimens): Likewise.
+ * tests/test-lutimens.h (test_lutimens): Likewise.
+ * doc/posix-functions/futimens.texi (futimens): Document the bug.
+ * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+
+2009-12-19 Bruno Haible <bruno@clisp.org>
+
+ dprintf-posix: Check against memory leak fixed on 2009-12-15.
+ * tests/test-dprintf-posix2.sh: New file.
+ * tests/test-dprintf-posix2.c: New file.
+ * modules/dprintf-posix-tests (Files): Add them.
+ (configure.ac): Check for getrlimit and setrlimit.
+ (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
+
+2009-12-19 Bruno Haible <bruno@clisp.org>
+
+ fprintf-posix: Check against memory leak fixed on 2009-12-15.
+ * tests/test-fprintf-posix3.sh: New file.
+ * tests/test-fprintf-posix3.c: New file.
+ * modules/fprintf-posix-tests (Files): Add them.
+ (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
+
+2009-12-19 Eric Blake <ebb9@byu.net>
+
+ dirfd: fix prototype
+ * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
+ * lib/dirfd.c (dirfd): Likewise.
+
+ canonicalize: reduce memory usage
+ * lib/canonicalize.c (canonicalize_filename_mode): Trim the
+ allocation to size.
+ Reported by Solar Designer <solar@openwall.com>.
+
+2009-12-19 Bruno Haible <bruno@clisp.org>
+
+ New module attribute 'Applicability'.
+ * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
+ * gnulib-tool: New option --extract-applicability.
+ (func_usage): Document it.
+ (sed_extract_prog): Recognize it.
+ (func_get_applicability): New function.
+ (func_import): Generalize handling of 'link-warning' module.
+ * modules/link-warning (Applicability): New section.
+ * modules/arg-nonnull (Applicability): New section.
+ Repoted by Simon Josefsson <simon@josefsson.org>.
+
+2009-12-19 Bruno Haible <bruno@clisp.org>
+
+ fflush: tweak
+ * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
+ * lib/fseeko.c (rpl_fseeko): Likewise.
+
+2009-12-16 José E. Marchesi <jemarch@gnu.org> (tiny change)
+
+ * lib/gl_list.h: Fix typo in comment.
+
+2009-12-16 Eric Blake <ebb9@byu.net>
+
+ fcntl: use to simplify other modules
+ * modules/cloexec (Depends-on): Add fcntl.
+ * modules/fchdir (Depends-on): Likewise.
+ * modules/fd-safer-flag (Depends-on): Likewise.
+ * modules/unistd-safer (Depends-on): Likewise.
+ * modules/dup3 (configure.ac): Set module indicator.
+ * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
+ missing.
+ * lib/fchdir.c (_gl_register_dup): Fix comment.
+ * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
+ * lib/dup-safer.c (dup_safer): Likewise.
+ * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
+ * lib/dup3.c (dup3): Likewise.
+ * tests/test-fchdir.c (main): Enhance test.
+ Fixes a dup_cloexec bug reported by Ondřej Vašík.
+
+ fcntl: port portions of fcntl to mingw
+ * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
+ * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
+ replacement for mingw.
+ * modules/fcntl (Description): Update.
+ (Depends-on): Add dup2.
+ * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
+ * modules/fcntl-h (Makefile.am): Substitute it.
+ * lib/fcntl.in.h (fcntl): Update declaration.
+ (F_DUPFD, F_GETFD): New macros, when needed.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
+ * doc/posix-functions/fcntl.texi (fcntl): Likewise.
+ * tests/test-fcntl.c (check_flags, main): Enhance test for items
+ we now guarantee.
+
+ fcntl: work around cygwin bug in F_DUPFD
+ * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
+ (gl_FUNC_FCNTL): Use it. Test for F_DUPFD bug.
+ * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
+ <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
+ * doc/posix-functions/fcntl.texi (fcntl): Document it.
+
+ fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
+ * modules/fcntl (Files): List new files.
+ (configure.ac): Run a test.
+ * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
+ * lib/fcntl.c (rpl_fcntl): Likewise.
+ * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
+ (gl_FCNTL_H): Always replace fcntl.h.
+ * modules/fcntl-h (Makefile.am): Substitute witnesses.
+ * lib/fcntl.in.h (fcntl): Declare replacement.
+ (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
+ needed, plus a witness.
+ * doc/posix-functions/fcntl.texi (fcntl): Document this.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
+ * tests/test-fcntl.c: New file.
+ * modules/fcntl-tests: Likewise.
+
+ binary-io: avoid potential compilation warning
+ * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
+ directives.
+
+ fflush: avoid compilation error on NetBSD
+ * lib/fflush.c (update_fpos_cache): Use a union to safely convert
+ between off_t and fpos_t, since the latter is sometimes a struct.
+ * lib/fseeko.c (rpl_fseeko): Likewise.
+ Reported by Alexander Nasonov <alnsn@yandex.ru>.
+
2009-12-15 Eric Blake <ebb9@byu.net>
fcntl-h, stdio, sys_ioctl: fix declarations