X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=3ac7d123e5e6ca106ad02adb58cc497253e3bd81;hb=fc33350;hp=2161c2b0b496c93dc3903b6561f09207e90868d6;hpb=ccb9c6798066958dd14c1005a7d5ffc1cbd6edae;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 2161c2b0b..3ac7d123e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,796 @@ +2009-09-02 Eric Blake + + backupfile, chdir-long, fts, savedir: make safer + * lib/backupfile.c (includes): Use "dirent--.h", since + numbered_backup can write to stderr during readdir. + * lib/savedir.c (includes): Likewise. + * lib/chdir-long.c (includes): Use "fcntl--.h", since openat + emulation can write to stderr on failure. + * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat. + * lib/getcwd.c: Document why opendir_safer is unused. + * lib/glob.c: Likewise. + * lib/scandir.c: Likewise. + * lib/openat-proc.c: Likewise, for open_safer. + * modules/backupfile (Depends-on): Add dirent-safer. + * modules/savedir (Depends-on): Likewise. + * modules/fts (Depends-on): Add dirent-safer and openat-safer. + * modules/chdir-long (Depends-on): Add openat-safer. + + openat-safer: new module + * modules/openat-safer: New file. + * lib/openat-safer.c: Likewise. + * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro. + * lib/fcntl-safer.h (openat_safer): Declare. + * lib/fcntl--.h (openat): Override. + * MODULES.html.sh (File descriptor based I/O): Mention it. + * lib/openat.h: Add double-inclusion guards. + * lib/openat.c (includes): Only include "fcntl-safer.h", not + "fcntl--.h", so we can implement openat. + * modules/openat-safer-tests: New test. + * tests/test-openat-safer.c: New file. + + dirent-safer: new module + * modules/dirent-safer: New file. + * lib/dirent--.h: Likewise. + * lib/dirent-safer.h: Likewise. + * lib/opendir-safer.c: Likewise. + * m4/dirent-safer.m4: Likewise. + * MODULES.html.sh (Enhancements for POSIX:2008): Mention it. + * modules/dirent-safer-tests: New test. + * tests/test-dirent-safer.c: New file. + * lib/fdopendir.c (includes): Ensure fdopendir is also safe. + + fdopendir: optimize on mingw + * lib/unistd.in.h (_gl_directory_name): New prototype. + * lib/fchdir.c (_gl_directory_name): Implement it. + (fchdir): Use it to simplify implementation. + * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from + fchdir, when available, to avoid calling [f]chdir(). + + fdopendir: split into its own module + * lib/openat.c (fdopendir): Move... + * lib/fdopendir.c: ...into new file. + * modules/fdopendir: New module. + * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file. + * modules/openat (Depends-on): Add fdopendir. + * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for + fdopendir here. + * modules/savedir (Depends-on): Only need fdopendir, not full + openat. + * lib/savedir.c (include): Use , not "openat.h". + * lib/openat.h (fdopendir): Drop prototype. + * lib/dirent.in.h (fdopendir): Provide prototype. + * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements. + * modules/dirent (Makefile.am): Substitute them. + * MODULES.html.sh (File system functions): Mention it. + * doc/posix-functions/fdopendir.texi (fdopendir): Likewise. + * modules/fdopendir-tests: New file. + * tests/test-fdopendir.c: Likewise. + + fchdir: use more consistent macro convention + * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd. + * lib/sys_stat.in.h (rpl_fstat): Declare via make-time + REPLACE_FCHDIR, rather than relying on config.h macros. + * lib/unistd.in.h (fchdir): Move all fchdir internal declarations + inside a single make-time REPLACE_FCHDIR block, rather than using + the config.h FCHDIR_REPLACEMENT. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already + AC_SUBST'd, also AC_DEFINE it. Don't define FCHDIR_REPLACEMENT. + Manage fstat replacement. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up + REPLACE_FCHDIR. + * modules/sys_stat (Files): Add m4/unistd_h.m4. + (Makefile.am): Substitute REPLACE_FCHDIR. + * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not + FCHDIR_REPLACEMENT. + * lib/dup-safer.c (dup_safer): Likewise. + * lib/dup2.c (rpl_dup2): Likewise. + * lib/dup3.c (rpl_dup3): Likewise. + * lib/open.c (rpl_open): Likewise. + + fchdir: simplify error handling, and support dup3 + * modules/fchdir (Depends-on): Use strdup-posix, not strdup. Add + stdbool, malloc-posix, realloc-posix. + * lib/fchdir.c (struct dir_info_t): Delete saved_errno. + (ensure_dirs_slot): Return false on allocation failure. + (rpl_dup2): Delete. + (_gl_register_dup): New function. + (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers. + (_gl_register_fd): Close fd on allocation failure. + * lib/fcntl.in.h (_gl_register_fd): Update signature. + * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New + prototype. + (rpl_dup2_fchdir): Delete prototype. + * lib/open.c (open): Update caller. + * lib/dup2.c (dup2): Track fchdir metadata. + * lib/dup3.c (dup3): Likewise. + * m4/dup2.m4 (gl_REPLACE_DUP2): New macro. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it. + +2009-09-02 Ralf Wildenhues + + * gnulib-tool (func_create_testdir, func_create_megatestdir): Use + AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and + don't pass arguments to AC_OUTPUT. + +2009-09-02 Bruno Haible + + * modules/mkdtemp (License): Relicense under LGPLv2+. + Reported by Paolo Bonzini. + +2009-09-02 Ralf Wildenhues + + Replace uses of obsolete autoconf macros in Jim's modules. + The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and + AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use + can evoke a warning from autoconf when run with -Wobsolete + enabled. They were declared obsolete for good reasons (see + the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual, + recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we + should not continue using the deprecated macros. + * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace + obsolete Autoconf macros with modern counterparts. + * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise. + * m4/dos.m4 (gl_AC_DOS): Likewise. + * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise. + * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise. + * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise. + * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise. + * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise. + * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise. + * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise. + * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise. + * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): + Likewise. + * m4/rename.m4 (gl_FUNC_RENAME): Likewise. + * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. + * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise. + * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise. + * m4/stat-time.m4 (gl_STAT_TIME): Likewise. + * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise. + +2009-09-01 Eric Blake + + fchdir: fix off-by-one bug in previous patch + * lib/fchdir.c (rpl_fstat): Use correct bounds. + (_gl_unregister_fd): Delete useless if. + +2009-09-01 Daniel P. Berrange + + maint.mk: sort the list of syntax-check rules + * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's + easier to get a sense of progress when the rules are run sequentially + and take a long time. + +2009-09-01 Simon Josefsson + + * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@. + * modules/netinet_in: Likewise. + * modules/sys_file: Likewise. + * modules/sys_ioctl: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sys_time: Likewise. + * modules/sys_times: Likewise. + * modules/sys_utsname: Likewise. + * modules/sys_wait: Likewise. + +2009-09-01 Jim Meyering + + fts: help ensure that return values are not ignored + * lib/fts_.h (__GNUC_PREREQ): Define. + (__attribute_warn_unused_result__): Define. + (fts_children, fts_close, fts_open, fts_read): Declare with + __attribute_warn_unused_result__. + + fts: fts_close now fails also when closing a dir file descriptor fails + * lib/fts.c (fts_close): Detect close failure, not just fchdir failure, + and propagate to caller, along with errno. + + announce-gen: correct formatting in --help output + * build-aux/announce-gen (usage): Move the one-line description in + --help output "up", to where it belongs, just after Usage:. + +2009-08-31 Eric Blake + + fchdir: port to mingw + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug. + * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be + opened, then use a substitute. + * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare + replacement. + * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it. + (_gl_register_fd): No need to check stat if open already filters + all directories. + (fchdir): Fix error condition to match POSIX. + * modules/fchdir (Depends-on): Add sys_stat. + * doc/posix-functions/open.texi (open): Document the limitation. + * modules/fchdir-tests: New file. + * tests/test-fchdir.c: Likewise. + + canonicalize: allow cross-testing from cygwin to mingw + * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK. + (Makefile.am): Pass it through TESTS_ENVIRONMENT. + * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am): + Likewise. + * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but + target does not support symlinks. + * tests/test-canonicalize-lgpl.sh: Likewise. + + chown: avoid compilation warning on mingw + * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown. + * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on + mingw. + * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise. + * modules/chown (Depends-on): Add errno. + +2009-08-31 Stefano Lattarini (tiny change) + + * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo' + command. + +2009-08-31 Jim Meyering + + canonicalize: remove useless initialization + * lib/canonicalize.c (canonicalize_filename_mode): Remove useless + initialization of local, "end". + +2009-08-30 Bruno Haible + + Fix an unnecessary error on Solaris 10 on NFSv3 file systems. + * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like + ENOSYS. + +2009-08-30 Bruno Haible + + * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over + /usr/xpg4/bin/tr when it exists. + * tests/test-pipe-filter-gi1.sh: Likewise. + +2009-08-30 Bruno Haible + + Work around deficient /usr/bin/id program on Solaris. + * tests/test-file-has-acl.sh (ID): New variable. + * tests/test-set-mode-acl.sh (ID): Likewise. + * tests/test-copy-acl.sh (ID): Likewise. + * tests/test-copy-file.sh (ID): Likewise. + +2009-08-30 Bruno Haible + + New module 'xstriconveh'. + * lib/xstriconveh.h: New file. + * lib/xstriconveh.c: New file. + * modules/xstriconveh: New file. + +2009-08-30 Bruno Haible + + Make it easier to use mem_cd_iconveh. + * lib/striconveh.h (iconveh_t): New type. + (iconveh_open, iconveh_close): New declarations. + (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments + with a single 'const iconveh_t *' argument. + * lib/striconveh.c (iconveh_open, iconveh_close): New functions. + (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments + with a single 'const iconveh_t *' argument. + (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close. + * tests/test-striconveh.c (main): Update. + * NEWS: Mention the change. + +2009-08-30 Bruno Haible + + * doc/posix-functions/iconv_open.texi: Mention indirect conversion + problem. + +2009-08-30 Bruno Haible + + Work around iconv_open problem on Solaris. + * lib/iconv_open-solaris.gperf: New file. + * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro. + * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris. + * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf. + (Makefile.am): Add rule for iconv_open-solaris.h. Augment + BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST. + * doc/posix-functions/iconv_open.texi: Mention the Solaris problem. + +2009-08-29 Jim Meyering + + maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev + * top/maint.mk (cvs-check): Remove target; it was just an alias + to the better-named vc-diff-check. + (maintainer-distcheck): Remove rule. It was used only from + the (alpha/beta/major) target, and all of its commands but one + were coreutils-specific. + (vc-dist): Remove rule. + (alpha beta major): Run "$(MAKE) distcheck" explicitly. + Run vc-diff-check, not vc-dist. + Run $(MAKE) dist with XZ_OPT=-9ev. Note spelling, with "-". + +2009-08-27 Bruno Haible + + * tests/test-bitrotate.c (main): Remove test that uses a shift count + of 0. + +2009-08-27 Bruno Haible + + * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C + compilers. + * doc/func.texi: Document the SunPRO C bug. + +2009-08-27 Bruno Haible + + Fix link error on Solaris. + * tests/test-parse-duration.c (xstrdup): Remove function. + +2009-08-26 Pádraig Brady + + ignore-value: handle pointer types, too + * lib/ignore-value.h (__attribute__): Remove definition. + (ignore_value): Remove use of "__attribute__ ((unused))" in favor + of a more concise and more-often effective "(void) i" statement. + (ignore_ptr): New function to suppress warnings from functions that + return pointers, and to make it explicit that one function doesn't + handle all cases. + +2009-08-25 Bruno Haible + + dup2: work around a Linux bug. + * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug. + * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF. + * doc/posix-functions/dup2.texi: Mention the Linux bug. + Reported by Simon Josefsson. + +2009-08-25 Jim Meyering + + libguestfs uses gnulib + * users.txt: Add libguestfs. + +2009-08-24 Eric Blake + + dup2, pipe2: fix some recent test failures on cygwin 1.5.x + * lib/pipe2.c (includes): Add binary-io.h. + * lib/dup2.c (rpl_dup2): Correct buggy errno value. + +2009-08-24 Bruno Haible + + Tolerate declared but missing accept4 syscall. + * lib/accept4.c (accept4): Invoke original accept4 function first, if + available. + * lib/sys_socket.in.h (accept4): If the function is already present, + override it. + * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation. + * modules/accept4 (Makefile.am): Compile accept4.c always. + Reported by Paolo Bonzini and Eric Blake. + +2009-08-23 Bruno Haible + + New module 'accept4'. + * lib/sys_socket.in.h (accept4): New declaration. + * lib/accept4.c: New file. + * m4/accept4.m4: New file. + * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize + GNULIB_ACCEPT4, HAVE_ACCEPT4. + * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4, + HAVE_ACCEPT4. + * modules/accept4: New file. + * doc/glibc-functions/accept4.texi: Mention the new module. + +2009-08-24 Jim Meyering + + progname: also set global program_invocation_name, when possible + Before this change, a libtool-enabled program that calls glibc's + error function would report the program name as + "/abs/dir/.libs/lt-program_name" rather than the desired program_name. + * modules/progname (configure.ac): Check for a declaration of + program_invocation_name. + * lib/progname.c: Include . + (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]: + Set program_invocation_name. + +2009-08-23 Bruno Haible + + * lib/dup3.c: Include . + +2009-08-23 Bruno Haible + + * lib/dup3.c (dup3): Test only once whether the system actually exists. + * lib/pipe2.c (pipe2): Likewise. + Suggested by Eric Blake. + +2009-08-23 Bruno Haible + + Tolerate declared but missing dup3 syscall. + * lib/dup3.c (dup3): Invoke original dup3 function first, if available. + * lib/unistd.in.h (dup3): If the function is already present, + override it. + * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation. + * modules/dup3 (Makefile.am): Compile dup3.c always. + Reported by Paolo Bonzini. + +2009-08-23 Bruno Haible + + Tolerate declared but missing pipe2 syscall. + * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if + available. + * lib/unistd.in.h (pipe2): If the function is already present, + override it. + * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation. + * modules/pipe2 (Makefile.am): Compile pipe2.c always. + Reported by Paolo Bonzini. + +2009-08-23 Bruno Haible + + * lib/pipe2.c (pipe2): Move #ifs inside function. + +2009-08-22 Joel E. Denny + + quotearg: document limitations of quote_these_too + * lib/quotearg.c (quotearg_buffer_restyled): Add comments where + those limitations are created. + * lib/quotearg.h (set_char_quoting): Document that digits and + letters that are special after backslash are not permitted. + (quotearg_char): Cross-reference set_char_quoting documentation. + +2009-08-23 Joel E. Denny + + quotearg: implement custom_quoting_style + * lib/quotearg.c: (struct quoting_options): Add left_quote and + right_quote fields. + (set_custom_quoting): New public function. + (quotearg_buffer_restyled): Add left_quote and right_quote + arguments, handle them very much like locale quoting, and update + all uses. + (quotearg_n_custom): New public function. + (quotearg_n_custom_mem): New public function. + (quotearg_custom): New public function. + (quotearg_custom_mem): New public function. + * lib/quotearg.h: Prototype and document new public functions. + (enum quoting_style): For escape_quoting_style and + clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is + ignored even though they're otherwise like c_quoting_style. + Add custom_quoting_style member and document with comparison to + clocale_quoting_style. + * tests/test-quotearg.c (custom_quotes): New array. + (custom_results): New array. + (main): Extend to test custom quoting. + +2009-08-22 Joel E. Denny + + quotearg: fix right quote escaping when it's in quote_these_too + * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right + quote, be sure to prepend only one backslash. + * tests/test-quotearg.c (use_quote_double_quotes): New function. + (main): Test it. + +2009-08-22 Joel E. Denny + + quotearg-tests: test escaping of embedded locale quotes + * tests/test-quotearg.c (struct result_strings): Add member for + new input. + (LQ_ENC, RQ_ENC, RQ_ESC): New macros. + (inputs): Add new input. + (results_g): Add expected results. + (flag_results): Likewise. + (locale_results): Likewise. + (compare_strings): Check those. + +2009-08-23 Bruno Haible + + Tests for module 'dup3'. + * modules/dup3-tests: New file. + * tests/test-dup3.c: New file. + + New module 'dup3'. + * lib/unistd.in.h (dup3): New declaration. + * lib/dup3.c: New file. + * m4/dup3.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and + HAVE_DUP3. + * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3. + * modules/dup3: New file. + * doc/glibc-functions/dup3.texi: Mention the new module. + +2009-08-23 Bruno Haible + + Tweak the dup2 test. + * tests/test-dup2.c (main): Create the test file empty. Verify that an + out-of-range fd yields EBADF. Verify that after writing to /dev/null, + the test file is still empty. Fix argument order of lseek. + +2009-08-23 Bruno Haible + + Avoid test link errors when the modules getopt-gnu, gettext are used. + * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD. + Reported by Tom G. Christensen . + +2009-08-23 Bruno Haible + + Fix getdtablesize() on mingw. + * lib/getdtablesize.c (getdtablesize): Implement differently. + * lib/unistd.in.h (getdtablesize): Improve comment. + +2009-08-23 Bruno Haible + + New module 'mkostemp'. + Based on Ulrich Drepper's 2007-08-10 change in glibc. + * lib/stdlib.in.h (mksotemp): New declaration. + * lib/mkostemp.c: New file, from glibc with modifications. + * lib/tempname.h (GT_FILE): Remove outdated comment. + (gen_tempname): Add flags argument. + * lib/tempname.c (__GT_BIGFILE): Remove macro. + (__GT_FILE): Map to 1. + (small_open, large_open): Remove macros. + (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE. + * lib/mkstemp.c (mkstemp): Update. + * lib/mkdtemp.c (mkdtemp): Likewise. + * m4/mkostemp.m4: New file. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP, + HAVE_MKOSTEMP. + * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP, + HAVE_MKOSTEMP. + * modules/mkostemp: New file, based on modules/mkstemp. + * doc/glibc-functions/mkostemp.texi: Mention the new module. + * NEWS: Mention the change. + +2009-08-23 Bruno Haible + + * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms. + Reported by Eric Blake. + +2009-08-23 Bruno Haible + + * lib/pipe2.c (pipe2): Fix test of fcntl's return value. + Reported by Eric Blake. + +2009-08-23 Bruno Haible + + * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl. + * modules/pipe2 (Depends-on): Likewise. + +2009-08-23 Eric Blake + + fcntl-h: add O_TTY_INIT support + * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro. + * tests/test-fcntl-h.c (o): Test it. + * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. + + fcntl-h: rename from fcntl, in preparation for fcntl(2) + * modules/fcntl: Move header replacement... + * modules/fcntl-h: ...to new name, so as not to collide with + like-named function. + * tests/test-fcntl.c: Rename... + * tests/test-fcntl-h.c: ...to this. Test FD_CLOEXEC. + * modules/fcntl-tests: Rename... + * modules/fcntl-h-tests: ...to this. Update test file name. + * modules/chdir-long (Depends-on): Update clients. + * modules/chdir-safer (Depends-on): Likewise. + * modules/fcntl-safer (Depends-on): Likewise. + * modules/fts (Depends-on): Likewise. + * modules/mkancesdirs (Depends-on): Likewise. + * modules/mkdir-p (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/savewd (Depends-on): Likewise. + * MODULES.html.sh (systems lacking POSIX:2008): Update name. + * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. + +2009-08-22 Bruno Haible + + * modules/binary-io (License): Relicense under LGPL. + * modules/pipe2 (License): Likewise. + +2009-08-22 Bruno Haible + + * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's + return value. + * lib/pipe-filter-gi.c (filter_init): Likewise. + Reported by Eric Blake. + +2009-08-22 Bruno Haible + + * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe. + * modules/pipe (Depends-on): Add pipe2. + +2009-08-22 Bruno Haible + + Tests for module 'pipe2'. + * modules/pipe2-tests: New file. + * tests/test-pipe2.c: New file. + + New module 'pipe2'. + * lib/unistd.in.h (pipe2): New declaration. + * lib/pipe2.c: New file. + * m4/pipe2.m4: New file. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and + HAVE_PIPE2. + * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2. + * modules/pipe2: New file. + * doc/glibc-functions/pipe2.texi: Mention the new module. + +2009-08-22 Bruno Haible + + Reference some new glibc functions. + * doc/glibc-functions/accept4.texi: New file. + * doc/glibc-functions/dup3.texi: New file. + * doc/glibc-functions/mkostemp.texi: New file. + * doc/glibc-functions/pipe2.texi: New file. + * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp. + (Glibc sys/socket.h): Refer to accept4. + (Glibc unistd.h): Refer to dup3, pipe2. + Reported by Eric Blake. + +2009-08-22 Jim Meyering + Bruno Haible + + annotate automake snippets with $(AM_V_GEN) and $(AM_V_at) + This makes it so packages using automake-1.11's silent-rules option + can print e.g., a single "GEN configmake.h" line, rather than + the 30+ statements that perform the job. If you want to see the + actual commands, you can still run "make V=1". + * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes + so that make output is abbreviated when those variables are defined + appropriately. + * modules/argz: Likewise. + * modules/arpa_inet: Likewise. + * modules/byteswap: Likewise. + * modules/configmake: Likewise. + * modules/dirent: Likewise. + * modules/errno: Likewise. + * modules/fcntl: Likewise. + * modules/float: Likewise. + * modules/fnmatch: Likewise. + * modules/getopt-posix: Likewise. + * modules/glob: Likewise. + * modules/iconv_open: Likewise. + * modules/inttypes: Likewise. + * modules/localcharset: Likewise. + * modules/locale: Likewise. + * modules/math: Likewise. + * modules/netdb: Likewise. + * modules/netinet_in: Likewise. + * modules/poll: Likewise. + * modules/posix_spawnp-tests: Likewise. + * modules/sched: Likewise. + * modules/search: Likewise. + * modules/selinux-h: Likewise. + * modules/signal: Likewise. + * modules/spawn: Likewise. + * modules/stdarg: Likewise. + * modules/stdbool: Likewise. + * modules/stddef: Likewise. + * modules/stdint: Likewise. + * modules/stdio: Likewise. + * modules/stdlib: Likewise. + * modules/string: Likewise. + * modules/strings: Likewise. + * modules/sys_file: Likewise. + * modules/sys_ioctl: Likewise. + * modules/sys_select: Likewise. + * modules/sys_socket: Likewise. + * modules/sys_stat: Likewise. + * modules/sys_time: Likewise. + * modules/sys_times: Likewise. + * modules/sys_utsname: Likewise. + * modules/sys_wait: Likewise. + * modules/sysexits: Likewise. + * modules/time: Likewise. + * modules/unistd: Likewise. + * modules/wchar: Likewise. + * modules/wctype: Likewise. + +2009-08-22 Jim Meyering + + announce-gen: detect write failure + * build-aux/announce-gen: Add Coda at end. + Remove equivalent-but-more-verbose block at top. + +2009-08-19 Akim Demaille + + bootstrap: --help to stdout. + * bootstrap (usage): Don't send --help to stderr. + Use a here doc instead of a long string. + +2009-08-21 Eric Blake + + test-popen-safer: split from test-popen + * tests/test-popen.c (main): Move... + * tests/test-popen.h: ...into new file. + * tests/test-popen-safer2.c: New file. + * modules/popen-tests (Files): Add test-popen.h. + * modules/popen-safer-tests (Files): Add test-popen-safer2.c. + Suggested by Bruno Haible. + + test-fcntl-safer: split from test-open + * tests/test-open.c (main): Move... + * tests/test-open.h: ...into new file. + * tests/test-fcntl-safer.c: New file. + * modules/open-tests (Files): Add test-open.h. + * modules/fcntl-safer-tests: New file. + Suggested by Bruno Haible. + + test-fopen-safer: split from test-fopen + * tests/test-fopen.c (main): Move... + * tests/test-fopen.h: ...into new file. + * tests/test-fopen-safer.c: New file. + * modules/fopen-tests (Files): Add test-fopen.h. + * modules/fopen-safer-tests: New file. + Suggested by Bruno Haible. + +2009-08-21 Paolo Bonzini + + popen-safer: test O_CLOEXEC at run-time. + * lib/popen-safer.c: Test O_CLOEXEC at run-time. + +2009-08-21 Paolo Bonzini + + fcntl: move more flags to the header + * lib/cloexec.c: Do not define FD_CLOEXEC here. + * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here. + * lib/fcntl.in.h: Do both things here. + +2009-08-21 Jim Meyering + + consistently remove $@-t before redirecting to it + * modules/argz: Remove $@-t and $@ before redirecting to the former. + * modules/alloca-opt: Likewise. + * modules/byteswap: Likewise. + * modules/fnmatch: Likewise. + * modules/getopt-posix: Likewise. + * modules/glob: Likewise. + * modules/poll: Likewise. + * modules/posix_spawnp-tests: Likewise. + * modules/sys_socket: Likewise. + * modules/sysexits: Likewise. + +2009-08-21 Eric Blake + + popen: simplify access to original popen + * lib/popen.c (rpl_popen): No need to worry about popen being a + macro. + Reported by Bruno Haible. + +2009-08-20 Eric Blake + + build: avoid some compiler warnings + * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing. + * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct + type. + (new_exclude_segment, excluded_file_pattern_p) + (excluded_file_name_p): Reduce scope. + * lib/vasnprintf.c (decimal_point_char): Avoid warning on + old-style declaration. + +2009-08-20 Simon Josefsson + + * tests/test-exclude1.sh: Handle Windows EOL. + * tests/test-exclude2.sh: Likewise. + * tests/test-exclude3.sh: Likewise. + * tests/test-exclude4.sh: Likewise. + * tests/test-exclude5.sh: Likewise. + * tests/test-exclude6.sh: Likewise. + * tests/test-exclude7.sh: Likewise. + +2009-08-19 Akim Demaille + + bootstrap: find sha1sum when named gsha1sum. + * bootstrap (find_tool): New. + ($SHA1SUM): New. + Use it. + +2009-08-20 Jim Meyering + + maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism + * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed + expression that converts "." in a file name to "\." in the resulting + regexp. Start with a dummy statement, so that prior shell variable + definitions are expanded portably. Reported by Simon Josefsson. + +2009-08-20 Paolo Bonzini + + Fix polling for writeability of a screen buffer. + * lib/poll.c: Distinguish input and screen buffers for the + Win32 implementation. + * lib/select.c: Likewise. + 2009-08-19 Eric Blake popen-safer: prevent popen from clobbering std descriptors