X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=1da8266ac6fe54c79227018a2730b010fcde7025;hb=fa7cfa720110dc45ed470592c6bbb8c69f3b84ee;hp=88108d35ba06a4b6e67d1a34d8141d96650a9628;hpb=9c5e07d317077af2cfc3f0816bcc8cab03dd4260;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 88108d35b..1da8266ac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,921 @@ +2011-09-16 Eric Blake + + fdatasync: port to Solaris + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC. + * modules/fdatasync (Link): Document it. + * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it. + + fdatasync: port to MacOS X 10.7 + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not + declared. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (fdatasync): Declare on MacOS. + * doc/posix-functions/fdatasync.texi (fdatasync): Document it. + + fdatasync: minor improvements + * modules/fdatasync (Depends-on): Add condition for fsync. + * lib/fdatasync.c (fdatasync): Add comment. + * tests/test-unistd-c++.cc: Test fdatasync. + + unistd: update refs to newer POSIX + * lib/unistd.in.h: Prefer POSIX 2008 over 2001. + Suggested by Bruno Haible. + + fdatasync: new module + * modules/fsync (Description): Document difference to fdatasync. + * modules/fdatasync: New module. + * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file. + * lib/fdatasync.c (fdatasync): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up + defaults. + * modules/unistd (Makefile.am): Set witnesses. + * lib/unistd.in.h (fdatasync): Declare. + * MODULES.html.sh: Document it. + * doc/posix-functions/fdatasync.texi (fdatasync): Likewise. + * modules/fdatasync-tests: New test. + * tests/test-fdatasync.c: Likewise. + +2011-09-16 Eric Blake + + test-fsync: enhance tests + * modules/fsync-tests (Depends-on): Add errno, for mingw. + * tests/test-fsync.c (main): Enhance test. + +2011-09-15 Bruno Haible + + Support for MSVC compiler: Ensure ssize_t gets defined. + * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem. + * doc/posix-headers/stdio.texi: Likewise. + * modules/stdio (Depends-on): Add ssize_t. + * modules/sys_socket (Depends-on): Likewise. + * modules/sys_types (Depends-on): Likewise. + * modules/sys_uio (Depends-on): Likewise. + * modules/unistd (Depends-on): Likewise. + * tests/test-sys_socket.c: Check that size_t and ssize_t are defined. + * tests/test-sys_types.c: Check that ssize_t is defined. + +2011-09-14 Bruno Haible + + Avoid using #, the m4 comment starter character, near brackets. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as + delimiter character in sed expressions. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise. + Suggested by Eric Blake. + + Properly quote AC_CHECK_DECLS' 4th argument. + * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th + argument. + * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. + * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise. + * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise. + * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise. + * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise. + * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise. + * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise. + * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise. + * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise. + * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise. + * m4/isfinite.m4 (gl_ISFINITE): Likewise. + * m4/isinf.m4 (gl_ISINF): Likewise. + * m4/logb.m4 (gl_FUNC_LOGB): Likewise. + * m4/readutmp.m4 (gl_READUTMP): Likewise. + * m4/regex.m4 (gl_PREREQ_REGEX): Likewise. + * m4/round.m4 (gl_FUNC_ROUND): Likewise. + * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. + * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise. + * m4/signbit.m4 (gl_SIGNBIT): Likewise. + * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise. + * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise. + * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. + * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. + * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. + * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise. + * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise. + Reported by Eric Blake. + + Properly quote AC_CHECK_DECL's 4th argument. + * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th + argument. + * m4/argp.m4 (gl_ARGP): Likewise. + * m4/asinl.m4 (gl_FUNC_ASINL): Likewise. + * m4/atanl.m4 (gl_FUNC_ATANL): Likewise. + * m4/cosl.m4 (gl_FUNC_COSL): Likewise. + * m4/expl.m4 (gl_FUNC_EXPL): Likewise. + * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise. + * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise. + * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise. + * m4/logl.m4 (gl_FUNC_LOGL): Likewise. + * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise. + * m4/sinl.m4 (gl_FUNC_SINL): Likewise. + * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise. + * m4/tanl.m4 (gl_FUNC_TANL): Likewise. + Reported by Eric Blake. + +2011-09-14 Eric Blake + + opendir: avoid compile warning + * lib/opendir.c (includes): Always include errno.h. + Reported by Tatsuro MATSUOKA. + +2011-09-14 Jim Meyering + + maint.mk: sc_tight_scope: propagate failure from sub-make + * top/maint.mk (sc_tight_scope): Actually initialize and use $fail. + Reported by Martin von Gagern. + +2011-09-13 Bruno Haible + + tempname: Support for MSVC. + * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on + MSVC. + * modules/tempname (Depends-on): Add fcntl-h. + +2011-09-13 Bruno Haible + + sys_time: Support for MSVC. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke + gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also + include . + * lib/sys_time.in.h: On MSVC, include and hide its + function declarations that collide with POSIX. + * modules/sys_time (Files): Add m4/sys_socket_h.m4. + (Makefile.am): Substitute HAVE_WINSOCK2_H. + +2011-09-13 Bruno Haible + + stat: Support for MSVC. + * lib/stat.c: Include pathmax.h. + * modules/stat (Depends-on): Add pathmax. + + pathmax: Support for native Windows. + * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows. + +2011-09-12 Bruno Haible + + New modules 'opendir', 'readdir', 'rewinddir', 'closedir'. + * lib/dirent.in.h (struct dirent): New type. + (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK, + DT_WHT): New macros. + (DIR): New type. + (opendir, closedir): Declare only if the module 'opendir' is enabled. + (readdir, rewinddir): New declarations. + * lib/dirent-private.h: New file. + * lib/opendir.c: New file. + * lib/readdir.c: New file. + * lib/rewinddir.c: New file. + * lib/closedir.c: New file. + * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions. + * m4/opendir.m4: New file. + * m4/readdir.m4: New file. + * m4/rewinddir.m4: New file. + * m4/closedir.m4: New file. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR, + REPLACE_CLOSEDIR here. + * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir, + readdir, rewinddir are declared. + (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR, + GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR, + HAVE_REWINDDIR, HAVE_CLOSEDIR. + * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR, + GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, + HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR. + * modules/opendir: New file. + * modules/readdir: New file. + * modules/rewinddir: New file. + * modules/closedir: New file. + * doc/posix-functions/opendir.texi: Mention the 'opendir' module. + * doc/posix-functions/readdir.texi: Mention the 'readdir' module. + * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module. + * doc/posix-functions/closedir.texi: Mention the 'closedir' module. + * NEWS: Mention the 'fchdir' change. + +2011-09-11 Bruno Haible + + asm-underscore.m4: Support for MSVC. + * m4/asm-underscore.m4 (gl_C_ASM): New macro. + (gl_ASM_SYMBOL_PREFIX): Require it. Use its results. + +2011-09-11 Reuben Thomas + + Doc about crypt functions. + * doc/posix-functions/crypt.texi: Expand range of glibc versions + needing for _GNU_SOURCE to get crypt. + * doc/posix-functions/encrypt.texi: Likewise. + * doc/posix-functions/setkey.texi: Likewise. + +2011-09-11 Bruno Haible + + doc: Update regarding MSVC 9. + * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely + tested". + * doc/posix-functions/*.texi: Update with info about MSVC 9. + * doc/posix-headers/*.texi: Likewise. + * doc/pastposix-functions/*.texi: Likewise. + * doc/glibc-functions/*.texi: Likewise. + * doc/glibc-headers/*.texi: Likewise. + +2011-09-11 Bruno Haible + + unistd et al.: Don't assume exists. + * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include if it + does not exist. + * m4/environ.m4 (gl_ENVIRON): Don't include if it does not + exist. But include . + * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If does not exist, + include and instead. Don't test symbolink links if + symlink() does not exist. + * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If does not exist, + include instead. + * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows. + * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If does not exist, + include instead. + * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise. + * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise. + * m4/lseek.m4 (gl_FUNC_LSEEK): If does not exist, include + instead. + * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links + correctly if the system does not have hard links. + * m4/rmdir.m4 (gl_FUNC_RMDIR): If does not exist, include + instead. + * m4/unistd_h.m4 (gl_UNISTD_H): If does not exist, bypass + it when looking for function declarations. + * m4/unlink.m4 (gl_FUNC_UNLINK): If does not exist, include + and instead. + * doc/posix-headers/unistd.texi: More details about MSVC problem. + +2011-09-11 Bruno Haible + + strcase: Support for MSVC. + * modules/strcase (Status, Notice): Remove obsoletion mark. + * doc/posix-functions/strcasecmp.texi: Mention MSVC problem. + * doc/posix-functions/strncasecmp.texi: Likewise. + + strings: Don't assume exists. + * lib/strings.in.h: Include only if HAVE_STRINGS_H is 1. + * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H. + * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H. + * doc/posix-headers/strings.texi: Mention the MSVC problem. + +2011-09-11 Bruno Haible + + dirent: Don't assume exists. + * lib/dirent.in.h: Include only if HAVE_DIRENT_H is 1. + * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H. + * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H. + * doc/posix-headers/dirent.texi: Mention the MSVC problem. + +2011-09-11 Bruno Haible + + Fix wint_t on MSVC. + * lib/wchar.in.h (wint_t): On MSVC, override it. + * lib/wctype.in.h (wint_t): Likewise. + * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on + MSVC. + * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC. + * doc/posix-headers/wctype.texi: Likewise. + +2011-09-11 Bruno Haible + + sys_types: Fix typo. + * lib/sys_types.in.h: Fix typo in comment. + Reported by Paul Eggert. + + Support for MSVC compiler: Ensure size_t gets defined. + * modules/strings (Depends-on): Add 'sys_types'. + * modules/sys_uio (Depends-on): Likewise. + * lib/sys_uio.in.h: Update comment. + + C++ tests for module 'sys_types'. + * modules/sys_types-c++-tests: New file. + * tests/test-sys_types-c++.cc: New file. + + Tests for module 'sys_types'. + * modules/sys_types-tests: New file. + * tests/test-sys_types.c: New file. + + New module 'sys_types'. + * lib/sys_types.in.h: New file. + * m4/sys_types_h.m4: New file. + * modules/sys_types: New file. + * doc/posix-headers/sys_types.texi: Mention the new module and the + size_t problem on MSVC 9. + +2011-09-11 Bruno Haible + + Support for MSVC compiler: Avoid division by a literal 0. + * lib/math.in.h (NAN): Define through a function call also on MSVC. + * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0. + * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A, + gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise. + (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L. + * tests/infinity.h: New file. + * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also + on MSVC. + * tests/test-ceilf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-ceil1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-ceill.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-dprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-floorf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-floor1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-floorl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-fprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-frexp.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-frexpl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-isfinite.c: Include infinity.h. + (test_isfinitef): Use Infinityf. + (test_isfinited): Use Infinityd. + (test_isfinitel): Use Infinityl. + * tests/test-isinf.c: Include infinity.h. + (test_isinff): Use Infinityf. + (test_isinfd): Use Infinityd. + (test_isinfl): Use Infinityl. + * tests/test-isnan.c: Include infinity.h. + (test_float): Use Infinityf. + (test_double): Use Infinityd. + (test_long_double): Use Infinityl. + * tests/test-isnanf.h: Include infinity.h. + (main): Use Infinityf. + * tests/test-isnand.h: Include infinity.h. + (main): Use Infinityd. + * tests/test-isnanl.h: Include infinity.h. + (main): Use Infinityl. + * tests/test-ldexpl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-printf-posix.h: Include infinity.h. + (test_function): Use Infinityd. + * tests/test-roundf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-round1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-roundl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-signbit.c: Include infinity.h. + (test_signbitf): Use Infinityf. + (test_signbitd): Use Infinityd. + (test_signbitl): Use Infinityl. + * tests/test-snprintf-posix.h: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-sprintf-posix.h: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-truncf1.c: Include infinity.h. + (main): Use Infinityf. + * tests/test-trunc1.c: Include infinity.h. + (main): Use Infinityd. + * tests/test-truncl.c: Include infinity.h. + (main): Use Infinityl. + * tests/test-vasnprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * tests/test-vasprintf-posix.c: Include infinity.h. + (test_function): Use Infinityd, Infinityl. + * modules/ceilf-tests (Files): Add tests/infinity.h. + * modules/ceil-tests (Files): Likewise. + * modules/ceill-tests (Files): Likewise. + * modules/dprintf-posix-tests (Files): Likewise. + * modules/floorf-tests (Files): Likewise. + * modules/floor-tests (Files): Likewise. + * modules/floorl-tests (Files): Likewise. + * modules/fprintf-posix-tests (Files): Likewise. + * modules/frexp-tests (Files): Likewise. + * modules/frexp-nolibm-tests (Files): Likewise. + * modules/frexpl-tests (Files): Likewise. + * modules/frexpl-nolibm-tests (Files): Likewise. + * modules/isfinite-tests (Files): Likewise. + * modules/isinf-tests (Files): Likewise. + * modules/isnan-tests (Files): Likewise. + * modules/isnanf-tests (Files): Likewise. + * modules/isnanf-nolibm-tests (Files): Likewise. + * modules/isnand-tests (Files): Likewise. + * modules/isnand-nolibm-tests (Files): Likewise. + * modules/isnanl-tests (Files): Likewise. + * modules/isnanl-nolibm-tests (Files): Likewise. + * modules/ldexpl-tests (Files): Likewise. + * modules/printf-posix-tests (Files): Likewise. + * modules/roundf-tests (Files): Likewise. + * modules/round-tests (Files): Likewise. + * modules/roundl-tests (Files): Likewise. + * modules/signbit-tests (Files): Likewise. + * modules/snprintf-posix-tests (Files): Likewise. + * modules/sprintf-posix-tests (Files): Likewise. + * modules/truncf-tests (Files): Likewise. + * modules/trunc-tests (Files): Likewise. + * modules/truncl-tests (Files): Likewise. + * modules/vasnprintf-posix-tests (Files): Likewise. + * modules/vasprintf-posix-tests (Files): Likewise. + * modules/vdprintf-posix-tests (Files): Likewise. + * modules/vfprintf-posix-tests (Files): Likewise. + * modules/vprintf-posix-tests (Files): Likewise. + * modules/vsnprintf-posix-tests (Files): Likewise. + * modules/vsprintf-posix-tests (Files): Likewise. + * modules/xprintf-posix-tests (Files): Likewise. + +2011-09-11 Bruno Haible + + Ensure pid_t gets defined. + * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T. + * m4/sched_h.m4 (gl_SCHED_H): Likewise. + * m4/signal_h.m4 (gl_SIGNAL_H): Likewise. + * m4/spawn_h.m4 (gl_SPAWN_H): Likewise. + * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise. + * m4/termios_h.m4 (gl_TERMIOS_H): Likewise. + * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H): Likewise. + * tests/test-fcntl-h.c: Check that pid_t is defined. + * tests/test-sched.c: Likewise. + * tests/test-termios.c: Likewise. + * tests/test-time.c: Likewise. + * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform. + * doc/posix-headers/signal.texi: Likewise. + * doc/posix-headers/sys_types.texi: Likewise. + * doc/posix-headers/time.texi: Likewise. + +2011-09-11 Bruno Haible + + acl: Fix compilation on Solaris 10 (older version). + * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead + of ACE_EVERYONE. + * lib/set-mode-acl.c (qset_acl): Likewise. + Reported by Christian Jullien . + +2011-09-10 Bruno Haible + + iconv, unsetenv: Add support for MSVC compiler. + * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC. + * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers. + +2011-09-10 Bruno Haible + + *printf: Add support for MSVC compiler. + * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that + handles the exception caused by the %n directive. When cross-compiling, + guess no on native Windows. + (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99, + gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing, + emulate it through vsnprintf. + * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment. + * doc/posix-functions/dprintf.texi: Update documentation regarding + MSVC 9. + * doc/posix-functions/fprintf.texi: Likewise. + * doc/posix-functions/printf.texi: Likewise. + * doc/posix-functions/snprintf.texi: Likewise. + * doc/posix-functions/sprintf.texi: Likewise. + * doc/posix-functions/swprintf.texi: Likewise. + * doc/posix-functions/vdprintf.texi: Likewise. + * doc/posix-functions/vfprintf.texi: Likewise. + * doc/posix-functions/vprintf.texi: Likewise. + * doc/posix-functions/vsnprintf.texi: Likewise. + * doc/posix-functions/vsprintf.texi: Likewise. + * doc/glibc-functions/asprintf.texi: Likewise. + * doc/glibc-functions/obstack_printf.texi: Likewise. + * doc/glibc-functions/obstack_vprintf.texi: Likewise. + * doc/glibc-functions/vasprintf.texi: Likewise. + +2011-09-10 Bruno Haible + + nocrash: Add support for native Windows. + * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows. + +2011-09-10 Michael Goffioul (tiny change) + Bruno Haible + + absolute-header, include-next: Add support for MSVC compiler. + * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require + AC_CANONICAL_HOST. On native Windows, recognize also backslash as + directory separator in #line directives. + * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows, + recognize also backslash as directory separator in #line directives. + +2011-09-08 Jim Meyering + + maint.mk: mark the post-release commit log with "maint: " prefix + * top/maint.mk (emit-commit-log): Add "maint: " prefix to the + one-line commit-log summary. + +2011-09-08 Reuben Thomas + Bruno Haible + + Doc about crypt functions. + * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc + systems. + * doc/posix-functions/encrypt.texi: Likewise. + * doc/posix-functions/setkey.texi: Likewise. + +2011-09-08 Simon Josefsson + + * lib/gc.h: Fix copyright header. + +2011-09-07 Bruno Haible + + pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and + AC_LINK_IFELSE instead of AC_SEARCH_LIBS. + +2011-09-07 Bruno Haible + + openat: Work around compilation error with OSF/1 5.1 DTK cc. + * lib/fopen.c: Use different syntax for include of . + * lib/freopen.c: Likewise. + * lib/fstatat.c: Use different syntax for include of . + * lib/lstat.c: Likewise. + * lib/stat.c: Likewise. + * lib/open.c: Use different syntax for include of . + * lib/openat.c: Include fcntl.h again, explicitly. + +2011-09-04 J.T. Conklin + + parse-datetime: document the newly accepted format + * doc/parse-datetime.texi (Combined date and time of day items): + New section. + +2011-09-06 Bruno Haible + + acl: Fix a test failure on newer Solaris 10 with ZFS. + * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with + ENOSYS as no ACL. + Reported by Jim Meyering. + +2011-09-06 Bruno Haible + + acl: Update for AIX >= 5.3 with NFS. + * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with + ENOSYS as no ACL. + + acl: Fix a test failure on AIX >= 5.3 with NFS. + * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS + as no ACL. + +2011-09-06 Bruno Haible + + acl: Fix a test failure on IRIX 6.5 with NFS. + * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX. + * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead + of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2011-09-05 Paul Eggert + + openat: port to AIX 7.1 with large files + AIX 7.1 does a "#define openat open64at" if large files are in use, + so we can't simply #undef openat. Use the orig_openat trick (similar + to orig_open in lib/open.c) to work around the problem. Problem + reported by Kevin Brott for GNU tar, in the thread containing + . + * lib/openat.c (__need_system_fcntl_h): Define first. + Include and before undefining. + (orig_openat) [HAVE_OPENAT]: New inline function. + (openat) [HAVE_OPENAT]: Do not undef. + (rpl_openat): Use orig_openat, not openat. + +2011-09-05 Joachim Schmitz (tiny change) + Bruno Haible + + acl: Avoid errors on NonStop Kernel. + * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and + ENOTSUP errors. + +2011-09-05 Bruno Haible + + acl: Clean up Solaris code. + * lib/acl-internal.h: Remove no-op #if. + * lib/file-has-acl.c: Likewise. + * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code. + * lib/copy-acl.c (qcopy_acl): Likewise. + +2011-09-05 Bruno Haible + + acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in + binaries built on the original Solaris 10. + * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be + trivial. + +2011-09-05 Bruno Haible + + acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version). + * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris + 10. + * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10. + (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs. + * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl + instead of acl_get, facl_get, acl_set, facl_set. + +2011-09-05 Bruno Haible + + copy-file: Try unit tests on more file systems. + * tests/test-copy-file-1.sh: New file. + * tests/test-copy-file-2.sh: New file. + * modules/copy-file-tests (Files): Add them. + (Makefile.am): Add them to TESTS. + + acl: Try unit tests on more file systems. + * tests/test-file-has-acl-1.sh: New file. + * tests/test-file-has-acl-2.sh: New file. + * tests/test-set-mode-acl-1.sh: New file. + * tests/test-set-mode-acl-2.sh: New file. + * tests/test-copy-acl-1.sh: New file. + * tests/test-copy-acl-2.sh: New file. + * modules/acl-tests (Files): Add them. + (Makefile.am): Add them to TESTS. + +2011-09-04 Bruno Haible + + acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version). + * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris + 10. + (OLD_ALLOW, OLD_DENY): New macros. + (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from + ACE_ACCESS_ALLOWED_ACE_TYPE. + (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from + ACE_ACCESS_DENIED_ACE_TYPE. + (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros. + (NEW_ACE_EXECUTE): Fix value. + (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS, + NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD, + NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE, + NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER, + NEW_ACE_SYNCHRONIZE): New macros. + * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl + instead of acl_fromtext, acl_set, facl_set. + Fixes a coreutils/tests/cp/perm failure. + +2011-09-03 Paul Eggert + + openat: test for fstatat (..., 0) bug + Further testing with tar suggests that fstatat (..., 0) + does not work in general, on AIX 7.1; see + . + So, give up entirely on AIX 7.1's fstatat, and fall back on our + replacement fstatat (which is what older AIX releases were using + anyway). + * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef. The only + use is now changed to orig_fstatat. This was probably the right + thing to do anyway. + (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used. + (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove. + (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN. + (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug + and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN, + if the bug is found. + + openat: test for fstatat (AT_FDCWD, ..., 0) bug + This tests for another fstatat bug on AIX 7.1: + fstatat (AT_FDCWD, ..., 0) does not work. See + . + * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN) + (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0. + (rpl_fstatat): Adjust so that it works around either (or both) + bugs if present. + * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug. + +2011-09-03 Karl Berry + + * doc/regex.texi (Character Class Operators): Avoid literal ":" + in index entries. + +2011-09-02 Bruno Haible + + Allow the user to override the choice of AR, ARFLAGS, RANLIB. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given + values of AR, ARFLAGS, RANLIB. + Reported by John W. Eaton for Octave. + +2011-09-02 Bruno Haible + + Find 'ar' program that fits with --host argument. + * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL. + +2011-09-02 Bruno Haible + + tests: init.sh: Support any non-GNU diff. + * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is + not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1, + Solaris 8. + +2011-09-02 Bruno Haible + + tests: init.sh: work also with any non-GNU diff that supports -u + * tests/init.sh: Relax check for diff -u support. + Rather than checking for GNU diff via --version, simply check + for support for -u itself. Useful at least on OpenBSD 4.9, + AIX 7.1, IRIX 6.5, and Solaris 10. + +2011-09-01 Bruno Haible + + strtoimax, strtoumax: Document problem on HP-UX 11. + * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem. + * doc/posix-functions/strtoumax.texi: Likewise. + +2011-09-01 Bruno Haible + + strtoumax: Avoid link error on OSF/1 with DTK cc. + * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is + defined as a function. + * modules/strtoumax (Depends-on, configure.ac): Test only whether + strtoumax is defined, not whether it is declared. + +2011-09-01 Bruno Haible + + strtoimax: Avoid link error on OSF/1 with DTK cc. + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is + defined as a function. + * modules/strtoimax (Depends-on, configure.ac): Test only whether + strtoimax is defined, not whether it is declared. + +2011-09-01 Bruno Haible + + imaxdiv: Avoid link error on OSF/1 with DTK cc. + * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined + as a function. + * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not + whether it is declared. + +2011-09-01 Bruno Haible + + imaxabs: Avoid link error on OSF/1 with DTK cc. + * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined + as a function. + * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not + whether it is declared. + +2011-09-01 Bruno Haible + + Tests for module 'strtoumax'. + * modules/strtoumax-tests: New file. + * tests/test-strtoumax.c: New file. + + Tests for module 'strtoimax'. + * modules/strtoimax-tests: New file. + * tests/test-strtoimax.c: New file. + + Tests for module 'imaxdiv'. + * modules/imaxdiv-tests: New file. + * tests/test-imaxdiv.c: New file. + + Tests for module 'imaxabs'. + * modules/imaxabs-tests: New file. + * tests/test-imaxabs.c: New file. + +2011-09-01 Bruno Haible + + pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5. + * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not + pthread_create. + +2011-09-01 Paul Eggert + + openat: work around AIX 7.1 fstatat issue + This should fix the problem that was not properly fixed + in the previous change, dated 2011-08-30. + * lib/fstatat.c: Include twice, the first with + __need_system_stat_h defined. + (orig_fstatat) [HAVE_FSTATAT]: New function. + (rpl_fstatat): Go back to the old way of doing things, + except call orig_fstatat instead of fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat. + Remove unnecessary check whether fstatat fills in st_size etc. + +2011-09-01 Bruno Haible + + sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5. + * lib/sys_select.in.h [__sgi]: When included from , + just include the system's header. + +2011-08-31 Jim Meyering + + tests: avoid spurious assertion failure in test-float.c on ppc64 + * tests/test-float.c (test_long_double): Comment out an assertion, + LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64 + with gcc-4.4.4. + + maint: indent with spaces, not TABs + I need to get in the habit of running gnulib's "make check". + Both of these would have been caught. + * m4/largefile.m4: Indent with spaces, not TABs. + * lib/parse-datetime.y (iso_8601_time): Likewise. + Spotted by Pádraig Brady. + + test-parse-datetime.c: accommodate a relatively strict gcc warning + * tests/test-parse-datetime.c (gmt_offset): Declare function "static", + to avoid a warning from gcc's -Werror=missing-declarations. + Insert a few spaces-before-funcall-parenthesis. + +2011-08-17 J.T. Conklin + + parse-datetime: accept ISO 8601 date and time rep with "T" separator + The parser now accepts ISO 8601 date-time strings with "T" as the + separator. It has long parsed dates like "2004-02-29 16:21:42" + with a space between the date and time strings. Now it also parses + "2004-02-29T16:21:42" and fractional-second and time-zone-annotated + variants like "2004-02-29T16:21:42.333-07:00" + * lib/parse-datetime.y: Parse ISO 8601 extended date and time + of day representation using the 'T' separator character. + * doc/parse-datetime.texi (General date syntax): replace use of + deprecated --iso-8601 option with --rfc-3339 in example of date + command output formats that can be parsed. + * tests/test-parse-datetime.c (tm_diff): New function, taken from + lib/parse-datetime.y. + (gmt_offset): New function. + (main): Add additional test cases to validate ISO8601 extended + date and time of day parsing. + +2011-08-31 Bruno Haible + + freopen: Documentation. + * doc/posix-functions/freopen.texi: Document the bug with the NULL file + name. + Reported by Claudio Bley . + +2011-08-31 Claudio Bley (tiny change) + + freopen: Don't crash if the filename argument is NULL. + * lib/freopen.c (rpl_freopen): Don't compare the filename if it is + NULL. + +2011-08-30 Paul Eggert + + openat: work around AIX 7.1 fstatat bug + Problem reported by Kevin Brott for GNU tar, in the thread containing + . + * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if + FSTATAT_ST_SIZE_ETC_BROKEN. + (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to + rpl_fstatat. + * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant + part of gl_FUNC_OPENAT. Also, check for the AIX 7.1 bug, and use + AC_CHECK_FUNCS_ONCE for fstatat. + (gl_FUNC_OPENAT): Use it. Use AC_CHECK_FUNCS_ONCE for + fchmodat, mkdirat, openat and unlinkat. + +2011-08-30 Bruno Haible + + Avoid endless recursions if config.h includes some header files. + * lib/fopen.c (__need_FILE): Define already before including config.h. + * lib/freopen.c (__need_FILE): Likewise. + * lib/open.c (__need_system_fcntl_h): Likewise. + * lib/stat.c (__need_system_sys_stat_h): Likewise. + * lib/lstat.c (__need_system_sys_stat_h): Likewise. + Reported by Michael Goffioul . + +2011-08-25 Karl Berry + + * config/srclist.txt (ylwrap): new try. + * build-aux/ylwrap: new file. + +2011-08-23 Bruno Haible + + tmpdir: Use a good default directory on native Windows. + * lib/tmpdir.c: Include , pathmax.h. + (P_tmpdir): Default to _P_tmpdir on native Windows. + (path_search): On native Windows, try the value returned by GetTempPath + before trying P_tmpdir. + * modules/tmpdir (Depends-on): Add pathmax. + Suggested by John Darrington . + +2011-08-20 Reuben Thomas + + doc: fix typo in README-release + * top/README-release: Capitalize first word of a sentence. + 2011-08-19 Jim Meyering + fts: do not exhaust memory when processing million-entry directories + Before this change, traversing (via rm -rf, find, du, etc.) an N-entry + directory would require about 256*N bytes of memory. Thus, it was + easy to construct a directory too large to be processed by any of + those tools. With this change, fts' maximum memory utilization is + now limited to around 30MB. + * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define. + (fts_read): When we've processed the final entry (i.e., when + ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build + using the parent entry to read any remaining entries. Dispatch + depending on what fts_build returns: + - NULL+stop, aka failure: stop + - NULL otherwise: move up in the dir hierarchy + - non-NULL: handle this new entry + (fts_build): Declare and use new local, continue_readdir. + Prepare to be called from fts_read, when the entries + from a partially-read directory have just been exhausted. + In that case, we'll skip the opendir and instead use the parent's + fts_dirp and derive dir_fd from that. + Finally, in the readdir loop, if we read max_entries entries, + exit the loop ensuring *not* to call closedir. This is required + so that fts_dirp can be reused on a subsequent call. + Prompted by Ben England's report of memory exhaustion in find + and rm -rf vs. NFS: https://bugzilla.redhat.com/719749. + maint: fts: move decl of `dp' down into while loop; split a long line * lib/fts.c (fts_build): No semantic change.