X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=73dadbb3a89631a7496c422c70ede5695df7ddf8;hb=faf52e824a51a93d173ed97c8901415a0be19481;hp=681fc487685536ee3998e4e95394d94f8131288c;hpb=240faa59e81adc07c998eca0eccbee649a39af90;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 681fc4876..73dadbb3a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,570 @@ +2009-10-02 Jim Meyering + + gnu-web-doc-update: add standard options + * build-aux/gnu-web-doc-update: Add --help, --version, etc. + + gnu-web-doc-update: New module. + Use this script to automatically update the on-line web documentation + for your GNU project at http://www.gnu.org/software/$pkg/manual/ + * modules/gnu-web-doc-update: New file, from coreutils. + * build-aux/gnu-web-doc-update: New script. + +2009-10-01 Paolo Bonzini + + link: LoadLibrary is not needed. + * lib/link.c: Use GetModuleHandle. + +2009-10-01 Eric Blake + + getopt: bump serial number + * m4/getopt.m4: Increment serial number, to account for 2009-09-24 + change. + + tests: tighten link, rmdir, and remove tests + * tests/test-link.h (includes): No need to use here. + Clean up if directory hard link was created, otherwise test for + trailing '.'. + * tests/test-linkat.c (main): Simplify. + * tests/test-remove.c (main): Enhance test for trailing '.'. + * tests/test-rmdir.h (test_rmdir_func): Likewise. + +2009-10-01 Jim Meyering + + maint.mk: requiring "make major" was annoying, for a "minor" release. + What is intended is "stable", to contrast with alpha and beta, + so require "make stable", not "make major". + * build-aux/announce-gen (%valid_release_types): s/major/stable/. + (get_tool_versions): Likewise. + * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/ + +2009-09-30 Ben Pfaff + + Fix broken build of replacement for Windows tmpfile(). + * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide + flags argument added along with the 'mkostemp' module. + +2009-09-28 Bruno Haible + + Avoid identifier clash with POSIX function 'remove' defined as a macro. + * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove' + to 'remove_elt'. + (gl_list_remove): Update. + * lib/gl_list.c (gl_list_remove): Update. + * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove' + to 'remove_elt'. + (gl_oset_remove): Update. + * lib/gl_list.c (gl_oset_remove): Update. + Reported by Eric Blake. + +2009-09-28 Eric Blake + + doc: mention yet more cygwin 1.7 status + * doc/posix-functions/fexecve.texi (fexecve): Now implemented in + cygwin. + * doc/glibc-functions/execvpe.texi (execvpe): New file. + * doc/gnulib.texi (Glibc unistd.h): Mention it. + + argp: fix test failure + * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values + that are not upper-case. Pass correct range to tolower. + +2009-09-27 Jim Meyering + + test-yesno: work around sparc-dash here-document infelicity + Without this change, the literal \177 byte in a here document + would make dash 0.5.5.1-3 access uninitialized memory. + * tests/test-yesno.sh: Don't put the \177 byte in the here document. + Instead, use a marker, "@", and filter through tr to create the desired + contents. Reported as by Kurt Roeckx. + +2009-09-27 Bruno Haible + + Disable untested support for new flavours of ACLs on AIX. + * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in + progress. + * lib/set-mode-acl.c (qset_acl): Likewise. + +2008-12-07 Bruno Haible + + Add support for new flavours of ACLs on AIX. (Untested.) + * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function. + (file_has_acl): Add support for newer AIX. + * lib/set-mode-acl.c (qset_acl): Likewise. + * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by + Rainer Tammer . + +2009-09-26 Eric Blake + + argp: fix compilation of getopt + * lib/getopt.in.h (includes): Use different guard than glibc. + Reported by Sergey Poznyakoff. + + doc: mention more cygwin 1.7 status + * doc/posix-functions/access.texi (access): Mention cygwin 1.5 + bug. + * doc/posix-functions/execl.texi (execl): Likewise. + * doc/posix-functions/execle.texi (execle): Likewise. + * doc/posix-functions/execlp.texi (execlp): Likewise. + * doc/posix-functions/execv.texi (execv): Likewise. + * doc/posix-functions/execve.texi (execve): Likewise. + * doc/posix-functions/execvp.texi (execvp): Likewise. + * doc/glibc-functions/canonicalize_file_name.texi + (canonicalize_file_name): Cygwin 1.7 now provides this. + * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise. + * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation + on AT_SYMLINK_NOFOLLOW. + +2009-09-24 Eric Blake + + test-linkat: make test more robust + * tests/test-linkat.c (main): Avoid collision with EEXIST. + + getopt: fix inclusion guards for cygwin + * modules/getopt-posix (Depends-on): Add include-next. + (Makefile.am): Substitute more items in replacement header. + * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native + . + * lib/getopt.in.h (includes): Use split inclusion guard, and + prefer over include when one is present. + (option): Also override name of 'struct option'. + + same-inode: revert prior change; it is not yet ready + * NEWS: Undo mention of this change. + * lib/same-inode.h (same-inode.h): Undo tri-state change. + * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller. + * lib/cycle-check.c (cycle_check): Likewise. + * lib/same.c (same_name): Likewise. + * lib/at-func2.c (at_func2): Likewise. + +2009-09-23 Eric Blake + + linkat: new module + * modules/linkat: New file. + * lib/at-func2.c (at_func2): Likewise. + * lib/linkat.c (linkat): Likewise. + * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise. + * lib/openat-priv.h (at_func2): Add declaration. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. + * modules/unistd (Makefile.am): Substitute them. + * lib/unistd.in.h (linkat): Declare it. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/linkat.texi (linkat): Likewise. + * doc/posix-functions/link.texi (link): Tweak wording. + * tests/test-link.c (main): Move guts... + * tests/test-link.h (test_link): ...into new file. + * modules/linkat-tests: New test. + * tests/test-linkat.c: Likewise. + * modules/link-tests (Files): Ship new file. + (Depends-on): Add stdbool. + + dirname: add library-safe mdir_name + * lib/dirname.h (mdir_name): New prototype. + * lib/dirname.c (dir_name): Move guts... + (mdir_name): ...to new function that avoids xalloc_die. + + fchdir: another mingw fix + * modules/fchdir (Depends-on): Drop canonicalize-lgpl. + * lib/fchdir.c (get_name): New helper method; skips canonicalize + on mingw (where it has not yet been ported), and make it optional + elsewhere. + (_gl_register_fd): Use it. + + same-inode: make SAME_INODE tri-state, to port to mingw + * NEWS: Mention this change. + * lib/same-inode.h (same-inode.h): Recognize mingw limitation of + st_ino always being 0. + * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller. + * lib/cycle-check.c (cycle_check): Likewise. + * lib/same.c (same_name): Likewise. + + lstat: avoid mingw compilation error + * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to + AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing + lstat ourselves. + * lib/lstat.c [!HAVE_LSTAT]: Do nothing if override + was adequate. + * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle + the checks for lstat. + (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT. + + link: fix test failure on Solaris 9 + * lib/link.c (rpl_link): Don't assume link will catch bogus + trailing slash on source. + + test-symlinkat: enhance test + * tests/test-readlink.c (main): Move guts... + * tests/test-readlink.h (test_readlink): ...into new file. + * tests/test-symlink.c (main): Move guts... + * tests/test-symlink.h (test_symlink): ...into new file. + * tests/test-symlinkat.c (main): Use new files for further + coverage. + (do_symlink, do_readlink): New helper functions. + * modules/symlink-tests (Files): Ship new file. + (Depends-on): Add stdbool. + * modules/readlink-tests (Files): Ship new file. + (Depends-on): Add stdbool. + * modules/symlinkat-tests (Files): Use new files. + +2009-09-23 Eric Blake + + readlink: document portability issue with symlink length + * doc/posix-functions/lstat.texi (lstat): Mention that some file + systems have bogus st_size on symlinks, and mention the + areadlink-with-size module. + * doc/posix-functions/fstatat.texi (fstatat): Likewise. + * doc/posix-functions/readlink.texi (readlink): Mention the + areadlink module, and ERANGE failure. + * doc/posix-functions/readlinkat.texi (readlinkat): Likewise. + * tests/test-readlink.c (main): Relax test for AIX, HP-UX. + + readlink: fix Solaris 9 bug with trailing slash + * lib/readlink.c (rpl_readlink): Work around trailing slash bug. + * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug. + * doc/posix-functions/readlink.texi (readlink): Document this. + * modules/readlink-tests: New test. + * tests/test-readlink.c: Likewise. + + readlink: fix cygwin 1.5.x bug with return type + * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature. + * lib/unistd.in.h (readlink): Use ssize_t. + * lib/readlink.c (readlink): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (readlink): Declare replacement. + * doc/posix-functions/readlink.texi (readlink): Document this. + + symlink: use throughout gnulib + * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check. + * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why + symlink is not used. + * modules/symlinkat (Depends-on): Add symlink. + * modules/canonicalize-lgpl-tests (Depends-on): Likewise. + * modules/canonicalize-tests (Depends-on): Likewise. + * modules/lstat-tests (Depends-on): Likewise. + * modules/openat-tests (Depends-on): Likewise. + * modules/remove-tests (Depends-on): Likewise. + * modules/rmdir-tests (Depends-on): Likewise. + * modules/unlink-tests (Depends-on): Likewise. + * tests/test-canonicalize-lgpl.c (symlink): Delete stub. + * tests/test-canonicalize.c (symlink): Likewise. + * tests/test-fstatat.c (symlink): Likewise. + * tests/test-lstat.c (symlink): Likewise. + * tests/test-remove.c (symlink): Likewise. + * tests/test-rmdir.c (symlink): Likewise. + * tests/test-unlink.c (symlink): Likewise. + * tests/test-unlinkat.c (symlink): Likewise. + + symlink: new module, for Solaris 9 bug + * modules/symlink: New file. + * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise. + * lib/symlink.c: Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults. + * modules/unistd (Makefile.am): Substitute them. + * lib/unistd.in.h (symlink): Declare replacement. + * MODULES.html.sh (File system functions): Mention it. + * doc/posix-functions/symlink.texi (symlink): Likewise. + * modules/symlink-tests: New test. + * tests/test-symlink.c: Likewise. + +2009-09-23 Bruno Haible + + * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules + when needed. + Test case: gnulib-tool --import --with-tests atexit inttypes. + Reported by Pauli Miettinen . + +2009-09-23 Bruno Haible + + * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a + subcommand, not in a subshell. + +2009-09-22 Eric Blake + + unistd: sort replacement declarations + * lib/unistd.in.h: Sort declarations. + + open, openat: minor optimization + * lib/open.c (open): If open succeeded, len is non-zero. + * lib/openat.c (rpl_openat): Likewise. + + link-follow: ensure correct result + * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file. + * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and + distinguish between possible failures. + +2009-09-21 Eric Blake + + fts: avoid compiler warning + * lib/fts.c (dirent_inode_sort_may_be_useful) + (leaf_optimization_applies) [!__linux__]: Mark unused parameters. + +2009-09-19 Bruno Haible + + * lib/progreloc.c (canonicalize_file_name): New declaration. + +2009-09-19 Eric Blake + + link: fix quoting + * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting. + + openat: fix openat bugs on Solaris 9 + * lib/openat.c (rpl_openat): Work around Solaris 9 bug. + * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris. + * modules/openat (Depends-on): Add open. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default. + * modules/fcntl-h (Makefile.am): Substitute it. + * lib/fcntl.in.h (openat): Declare replacement. + * doc/posix-functions/openat.texi (openat): Document this. + + openat: move fstatat and unlinkat into correct files + * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be + compiled. + * lib/openat.c (fstatat, unlinkat): Move... + * lib/fstatat.c (fstatat): ...into correct files. + * lib/unlinkat.c (unlinkat): Likewise. + + openat: fix unlinkat bugs on Solaris 9 + * lib/unlinkat.c (unlinkat): New file. + * modules/openat (Depends-on): Add unlink. + (Files): Distribute it. + * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if + trailing slash behavior is broken. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness. + * modules/unistd (Makefile.am): Substitute it. + * lib/unistd.in.h (unlinkat): Declare replacement. + * doc/posix-functions/unlinkat.texi (unlinkat): Document this. + + openat: fix fstatat bugs on Solaris 9 + * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and + stat. + * doc/posix-functions/fstatat.texi (fstatat): Document this. + + test-unlinkat: enhance test, to expose Solaris 9 bug + * tests/test-unlink.c (main): Factor guts... + * tests/test-unlink.h (test_rmdir_func): ...into new file. + * tests/test-rmdir.h (test_rmdir_func): Add parameter. + * tests/test-rmdir.c (main): Adjust caller. + * tests/test-unlinkat.c (main): Likewise. Add unlink tests. + (unlinker): New helper function. + (rmdirat): Enhance check. + * modules/rmdir-tests (Depends-on): Add stdbool. + * modules/unlink-tests (Depends-on): Likewise. + (Files): Add test-unlink.h. + * modules/openat-tests (Files): Likewise. + (Depends-on): Add unlinkdir. + + test-fstatat: new test, to expose Solaris 9 bugs + * tests/test-stat.c (main): Factor guts... + * tests/test-stat.h (test_stat_func): ...into new file. + * tests/test-lstat.c (main): Factor guts... + * tests/test-lstat.h (test_lstat_func): ...into new file. + * tests/test-fstatat.c: New file. + * modules/stat-tests (Files): Add test-stat.h. + * modules/lstat-tests (Files): Add test-lstat.h. + (Depends-on): Add stdbool. + * modules/openat-tests (Depends-on): Add pathmax. + (Files): Add test-lstat.h, test-stat.h, test-fstatat.c. + (Makefile.am): Run new test. + + remove: new module, for mingw and Solaris 9 bugs + * modules/remove: New file. + * lib/remove.c: Likewise. + * m4/remove.m4 (gl_FUNC_REMOVE): Likewise. + * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses. + * modules/stdio (Makefile.am): Use them. + * lib/stdio.in.h (remove): Declare replacement. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/remove.texi (remove): Likewise. + * modules/remove-tests: New test. + * tests/test-remove.c: Likewise. + + unlink: new module, for Solaris 9 bug + * modules/unlink: New file. + * lib/unlink.c: Likewise. + * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses. + * modules/unistd (Makefile.am): Use them. + * lib/unistd.in.h (stat): Declare replacement. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/unlink.texi (unlink): Likewise. + * modules/unlink-tests: New test. + * tests/test-unlink.c: Likewise. + + lstat: fix Solaris 9 bug + * lib/lstat.c (lstat): Also check for trailing slash on + non-symlink, non-directories. Use stat module to simplify logic. + * doc/posix-functions/lstat.texi (lstat): Document it. + * modules/lstat-tests (Depends-on): Add errno, same-inode. + (configure.ac): Check for symlink. + * tests/test-lstat.c (main): Add more tests. + + stat: add as dependency to other modules + * modules/chown (Depends-on): Add stat. + * modules/euidaccess (Depends-on): Likewise. + * modules/fchdir (Depends-on): Likewise. + * modules/isdir (Depends-on): Likewise. + * modules/link (Depends-on): Likewise. + * modules/lstat (Depends-on): Likewise. + * modules/mkdir-p (Depends-on): Likewise. + * modules/modechange (Depends-on): Likewise. + * modules/open (Depends-on): Likewise. + * modules/readlink (Depends-on): Likewise. + * modules/same (Depends-on): Likewise. + + stat: fix Solaris 9 bug + * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing + slash. + * lib/stat.c (rpl_stat): Work around it. + * doc/posix-functions/stat.texi (stat): Update documentation. + + stat: new module, for mingw bug + * modules/stat: New file. + * lib/stat.c: Likewise. + * m4/stat.m4 (gl_FUNC_STAT): Likewise. + * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses. + * modules/sys_stat (Makefile.am): Use them. + * lib/sys_stat.in.h (stat): Declare replacement. + * lib/openat.c (fstatat): Deal with lstat and stat being function + macros. + * modules/openat (Depends-on): Add inline. + * MODULES.html.sh (systems lacking POSIX:2008): Mention module. + * doc/posix-functions/stat.texi (stat): Likewise. + * modules/stat-tests: New test. + * tests/test-stat.c: Likewise. + +2009-09-19 Jim Meyering + + syntax-check: detect unnecessary inclusion of canonicalize.h + * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule. + +2009-09-19 Eric Blake + + canonicalize-lgpl: adjust clients to use correct header + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) + (gl_CANONICALIZE_LGPL): Use correct shell quoting. + * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h. + * lib/fchdir.c (includes): Use , not "canonicalize.h". + * lib/progreloc.c (includes): Likewise. + +2009-09-19 Jim Meyering + + test-posixtm.c: correct a comment + * tests/test-posixtm.c: Correct first-line comment. + Spotted by Eric Blake. + +2009-09-16 Jim Meyering + + posixtm-tests: make T const-correct; add a test case + * tests/test-posixtm.c (T): Declare const. + Add a test for -(2^31+1). + Remove useless can-succeed-only-in-2002 test. + + posixtm-tests: adjust the sole failing test + * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that + expected output matches what mktime now produces. Cross-checked via + erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}}) + + posixtm: move #ifdef'd tests into a new module + * lib/posixtm.c (posixtime): Remove #ifdef'd tests. Move to... + * tests/test-posixtm.c: ... this new file. + * modules/posixtm-tests: New module. + +2009-09-19 Eric Blake + + openat: simplify use of at-func.c + * lib/at-func.c (includes): Include prerequisites here, to + simplify requirements on client files. + * lib/openat-priv.h: Add double-inclusion guard. + * lib/faccessat.c (includes): Simplify. + * lib/fchmodat.c (includes): Likewise. + * lib/fchownat.c (includes): Likewise. + * lib/mkdirat.c (includes): Likewise. + * lib/mkfifoat.c (includes): Likewise. + * lib/symlinkat.c (includes): Likewise. + + openat: allow return of fd 0 + * modules/chdir-long (Depends-on): Relax openat-safer to openat. + * modules/save-cwd (Depends-on): Replace fcntl-safer with + unistd-safer. + * lib/chdir-long.c (includes): Replace "fcntl--.h" with + ; this module does not leak fds. + * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat + must be allowed to return 0, leaving openat_safer to add the + safety. + (openat_permissive): Avoid writing to just-opened fd 2 if + restoring the current directory fails. + * lib/openat-die.c (openat_restore_fail): Add comment. + * lib/save-cwd.c (includes): Make "fcntl--.h" conditional. + (save_cwd): Guarantee safe fd, but without use of open_safer. + * tests/test-openat.c: New test. + * modules/openat-tests (Files, Makefile.am): Distribute and build + new file. + + relocatable-prog-wrapper: fix build + * modules/relocatable-prog-wrapper (Files): Update name of + canonicalize m4 file, broken on 2009-09-17. + Reported by emad hajjar . + +2009-09-19 Bruno Haible + + * lib/safe-alloc.h: Use the standard header with GPL copyright. + * lib/safe-alloc.c: Likewise. + Reported by Ian Beckwith . + +2009-09-18 Bruno Haible + + * gnulib-tool: Add advice to "cannot find configure.ac" error message. + Reported by . + 2009-09-17 Eric Blake + canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash + * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing + slashes when checking if last component is missing. + * tests/test-canonicalize.c (main): Test this. + + canonicalize, canonicalize-lgpl: honor // if distinct from / + * modules/canonicalize (Files): Add double-slash-root.m4. + * modules/canonicalize-lgpl (Files): Likewise. + * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE) + (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency. + * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide + fallback definition. + (canonicalize_filename_mode): Use it to protect //. + * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT) + (__realpath): Likewise. + * tests/test-canonicalize.c (main): Test this. + * tests/test-canonicalize-lgpl.c (main): Likewise. + * modules/canonicalize-tests (Depends-on): Add same-inode. + * modules/canonicalize-lgpl-tests (Depends-on): Likewise. + + canonicalize-lgpl: fix glibc bug with trailing slash + * m4/canonicalize-lgpl.m4: Move contents... + * m4/canonicalize.m4: ...here. + (gl_CANONICALIZE_LGPL): Factor realpath check... + (gl_FUNC_REALPATH_WORKS): ...into new macro. Enhance to catch + glibc 2.3.5 bug, fixed 2005-04-27. + (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it. + (gl_PREREQ_CANONICALIZE_LGPL): Inline... + (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro. + * modules/canonicalize-lgpl (Files): Manage file rename. + * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default. + * modules/stdlib (Makefile.am): Substitute witness. + * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement + is needed. + * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name + replacement is required. + * lib/canonicalize.c (canonicalize_file_name): Likewise. + * doc/glibc-functions/canonicalize_file_name.texi + (canonicalize_file_name): Document this. + * doc/posix-functions/realpath.texi (realpath): Likewise. + + canonicalize-lgpl: reject non-directory with trailing slash + * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc. + * tests/test-canonicalize-lgpl.c (main): Enhance test. This + catches failures in glibc 2.3.5. + * tests/test-canonicalize.c (main): Likewise. + canonicalize-lgpl: use native realpath if it works * lib/canonicalize-lgpl.c (realpath): Guard with FUNC_REALPATH_WORKS.