stat: fix compilation on AIX
[gnulib.git] / ChangeLog
index 8eade8f..6cb34dc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,341 @@
+2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
+
+       stat: fix compilation on AIX
+       * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
+       only see struct stat64.
+
+2009-10-30  Eric Blake  <ebb9@byu.net>
+
+       exclude: make more robust
+       * lib/exclude.c (excluded_file_name): Abort on unexpected value,
+       rather than masking a coding bug.
+       Suggested by Bruno Haible.
+
+2009-10-30  Jim Meyering  <meyering@redhat.com>
+
+       perl scripts: remove #!/usr/bin/perl in favor of more portable...
+       Rather than putting #!/usr/bin/perl on the first line,
+       start with a variant of what's recommended by "man perlrun" that
+       invokes the first "perl" program from your shell's search path.
+       * build-aux/gitlog-to-changelog: Replace #!... as above.
+       Add a "Local Variables" perl mode setting.
+       Prompted by a patch from Ludovic Courtès.
+       Improved by Eric Blake.
+       * build-aux/useless-if-before-free: Likewise.
+       * build-aux/announce-gen: Likewise.
+       * build-aux/update-copyright: Likewise.
+
+2009-10-29  Eric Blake  <ebb9@byu.net>
+
+       filenamecat-lgpl: adjust clients
+       * modules/linkat (Depends-on): Use filenamecat-lgpl, not
+       filenamecat.
+       * modules/renameat (Depends-on): Likewise.
+
+       filenamecat: split into filenamecat-lgpl
+       * modules/filenamecat-lgpl: New module.
+       * modules/filenamecat (Files): Move library-safe files into
+       filenamecat-lgpl.
+       (Depends-on): Add filenamecat-lgpl.
+       (configure.ac): Declare witness.
+       * lib/filenamecat.h (file_name_concat): Only declare when using
+       GPL module.
+       * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
+       Move...
+       * lib/filenamecat-lgpl.c: ...into new file.
+       * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
+       (gl_FILE_NAME_CONCAT): Use it.
+       * MODULES.html.sh (File system functions): Mention new module.
+
+       argp: avoid memory leak
+       * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
+       * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
+       base_name, since the latter malloc()s and can call exit().
+       Leak introduced 2006-07-03.
+
+       dirname-lgpl: adjust clients that don't need full dirname
+       * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
+       * modules/filenamecat (Depends-on): Likewise.
+       * modules/linkat (Depends-on): Likewise.
+       * modules/mkancesdirs (Depends-on): Likewise.
+       * modules/mkdir (Depends-on): Likewise.
+       * modules/openat (Depends-on): Likewise.
+       * modules/savewd (Depends-on): Likewise.
+       * modules/rename (Depends-on): Likewise.
+       (License): Relax license.
+       * modules/mkdir-tests (Depends-on): Drop progname.
+       (Makefile.am): Delete unneeded LDADD.
+       * modules/rename-tests (Depends-on, Makefile.am): Likewise.
+
+       dirname: split into dirname-lgpl
+       * modules/dirname-lgpl: New module.
+       * modules/dirname (Files): Move library-safe files into
+       dirname-lgpl.
+       (Depends-on): Add dirname-lgpl.
+       (configure.ac): Declare witness.
+       * modules/double-slash-root (License): Relax license.
+       * lib/dirname.h (base_name, dir_name): Only declare when using GPL
+       module.
+       * lib/dirname.c (dir_len, mdir_name): Move...
+       * lib/dirname-lgpl.c: ...into new file.
+       * lib/basename.c (last_component, base_len): Move...
+       * lib/basename-lgpl.c: ...into new file.
+       * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
+       (gl_DIRNAME): Use it.
+       * MODULES.html.sh (Enhancements for POSIX:2008 functions):
+       Mention new module.
+       * modules/dirname-tests (Depends-on): Add progname.
+       * tests/test-dirname.c (program_name): Delete.
+
+       mkdir: make safe for libraries
+       * modules/mkdir (Depends-on): Drop xalloc.
+       * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
+       exit.
+
+       tests: avoid some compiler warnings
+       * tests/test-getaddrinfo.c (simple): Mark static, and allow string
+       literals.
+       * tests/test-memchr.c (main): Avoid type mismatch.
+       * tests/test-arpa_inet.c (main): Avoid unused parameters.
+       * tests/test-base64.c (main): Likewise.
+       * tests/test-getdelim.c (main): Likewise.
+       * tests/test-gethostname.c (main): Likewise.
+       * tests/test-getline.c (main): Likewise.
+       * tests/test-netinet_in.c (main): Likewise.
+       * tests/test-select.c (open_server_socket, main): Likewise.
+       * tests/test-select-stdin.c (main): Likewise.
+       * tests/test-sockets.c (main): Likewise.
+       * tests/test-strsignal.c (main): Likewise.
+       * tests/test-sys_select.c (main): Likewise.
+       * tests/test-sys_socket.c (main): Likewise.
+       * tests/test-u64.c (main): Likewise.
+       * tests/test-xfprintf-posix.c (main): Likewise.
+       * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
+
+       sockets: avoid compiler warning
+       * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
+
+       maint: detect usage(1) and other suspicious exits
+       * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
+
+2009-10-29  Jim Meyering  <meyering@redhat.com>
+
+       timespec: long-to-int truncation could make timespec_cmp malfunction
+       * lib/timespec.h (timespec_cmp): Do not interpret a difference of
+       a multiple of 2^32 nanoseconds as no difference.
+
+2009-10-28  Jim Meyering  <meyering@redhat.com>
+
+       fprintftime: wrap macro code argument in "do {...} while(0)"
+       * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
+       cpy macro must be a statement that can be followed by a semicolon.
+       Now that the else clause contains a comment and is hence longer
+       than one line, I require curly braces.  That in turn requires
+       that we wrap this code block in the standard do...while(0).
+
+       fprintftime: remove stray semicolon from previous change
+       * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
+
+       fprintftime: avoid a warning about ignored fwrite return value
+       * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
+       (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
+       that is unsafe.
+       * modules/fprintftime (Depends-on): Add ignore-value.
+
+       exclude: avoid an unwarranted warning
+       * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
+
+2009-10-27  Eric Blake  <ebb9@byu.net>
+
+       fseek: avoid compilation failure when fflush is replaced
+       * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
+       * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
+       module is in use.
+       * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
+       module is not in use; since REPLACE_FSEEK worked otherwise.
+       (GNULIB_FTELLO): Likewise for ftell.
+       Reported by Ian Beckwith and others.
+
+2009-10-27  Bruno Haible  <bruno@clisp.org>
+
+       * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
+       Reported by Jim Meyering.
+
+2009-10-27  Jim Meyering  <jim@meyering.net>
+           Bruno Haible  <bruno@clisp.org>
+
+       Avoid warning despite dropping the return value of fwrite.
+       * lib/unicodeio.c: Include ignore-value.h.
+       (fwrite_success_callback): Explicitly ignore fwrite's return value.
+       * modules/unicodeio (Depends-on): Add ignore-value.
+
+2009-10-26  Eric Blake  <ebb9@byu.net>
+
+       areadlinkat: fix fallback path
+       * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
+       pointer and zero.
+
+2009-10-22  Pádraig Brady  <P@draigBrady.com>
+
+       Use a better IO block size for modern systems
+       * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
+       * lib/md2.c: Likewise.
+       * lib/md4.c: Likewise.
+       * lib/md5.c: Likewise.
+       * lib/sha1.c: Likewise.
+       * lib/sha256.c: Likewise.
+       * lib/sha512.c: Likewise.
+
+2009-10-22  Eric Blake  <ebb9@byu.net>
+
+       tests: avoid several compiler warnings
+       * tests/test-getcwd.c (main): Avoid buffer underflow.
+       * tests/test-getdate.c (main): String literals are not safe with
+       putenv, so use setenv.  Declare unused argument.
+       * modules/getdate-tests (Depends-on): Add setenv.
+       * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
+       problems with string literals in char *.
+       * tests/test-hash.c (main): Avoid shadowing declaration.
+       (insert_new): Treat string literals as char const *.
+       * tests/test-getopt.h (test_getopt): Likewise.
+       (getopt_loop): Alter types to minimize casting elsewhere.
+       * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
+       (test_getopt_long_posix): Likewise.
+       (do_getopt_long): Add wrapper to minimize casting.
+       * tests/test-atexit.c (clear_temp_file): Use void.
+       * tests/test-areadlink-with-size.c (main): Declare unused
+       arguments.
+       * tests/test-areadlink.c (main): Likewise.
+       * tests/test-areadlinkat-with-size.c (main): Likewise.
+       * tests/test-areadlinkat.c (main): Likewise.
+       * tests/test-canonicalize-lgpl.c (main): Likewise.
+       * tests/test-canonicalize.c (main): Likewise.
+       * tests/test-dirent-safer.c (main): Likewise.
+       * tests/test-dirname.c (main): Likewise.
+       * tests/test-dup2.c (main): Likewise.
+       * tests/test-fchdir.c (main): Likewise.
+       * tests/test-fcntl-h.c (main): Likewise.
+       * tests/test-fcntl-safer.c (main): Likewise.
+       * tests/test-fdopendir.c (main): Likewise.
+       * tests/test-fdutimensat.c (main): Likewise.
+       * tests/test-fflush.c (main): Likewise.
+       * tests/test-filenamecat.c (main): Likewise.
+       * tests/test-filevercmp.c (main): Likewise.
+       * tests/test-fopen-safer.c (main): Likewise.
+       * tests/test-fopen.c (main): Likewise.
+       * tests/test-fpending.c (main): Likewise.
+       * tests/test-fpurge.c (main): Likewise.
+       * tests/test-freading.c (main): Likewise.
+       * tests/test-fstatat.c (main): Likewise.
+       * tests/test-fsync.c (main): Likewise.
+       * tests/test-futimens.c (main): Likewise.
+       * tests/test-getndelim2.c (main): Likewise.
+       * tests/test-gettimeofday.c (main): Likewise.
+       * tests/test-getopt.c (main): Likewise.
+       * tests/test-i-ring.c (main): Likewise.
+       * tests/test-inttypes.c (main): Likewise.
+       * tests/test-link.c (main): Likewise.
+       * tests/test-lstat.c (main): Likewise.
+       * tests/test-math.c (main): Likewise.
+       * tests/test-md5.c (main): Likewise.
+       * tests/test-memchr2.c (main): Likewise.
+       * tests/test-memrchr.c (main): Likewise.
+       * tests/test-mkdir.c (main): Likewise.
+       * tests/test-mkdirat.c (main): Likewise.
+       * tests/test-mkfifoat.c (main): Likewise.
+       * tests/test-open.c (main): Likewise.
+       * tests/test-openat-safer.c (main): Likewise.
+       * tests/test-openat.c (main): Likewise.
+       * tests/test-quotearg.c (main): Likewise.
+       * tests/test-rawmemchr.c (main): Likewise.
+       * tests/test-readlink.c (main): Likewise.
+       * tests/test-remove.c (main): Likewise.
+       * tests/test-rename.c (main): Likewise.
+       * tests/test-renameat.c (main): Likewise.
+       * tests/test-rmdir.c (main): Likewise.
+       * tests/test-sha1.c (main): Likewise.
+       * tests/test-signal.c (main): Likewise.
+       * tests/test-sigaction.c (main): Likewise.
+       * tests/test-stat.c (main): Likewise.
+       * tests/test-stat-time.c (main): Likewise.
+       * tests/test-stddef.c (main): Likewise.
+       * tests/test-stdint.c (main): Likewise.
+       * tests/test-stdio.c (main): Likewise.
+       * tests/test-stdlib.c (main): Likewise.
+       * tests/test-strchrnul.c (main): Likewise.
+       * tests/test-strerror.c (main): Likewise.
+       * tests/test-string.c (main): Likewise.
+       * tests/test-strtod.c (main): Likewise.
+       * tests/test-strverscmp.c (main): Likewise.
+       * tests/test-symlink.c (main): Likewise.
+       * tests/test-symlinkat.c (main): Likewise.
+       * tests/test-sys_stat.c (main): Likewise.
+       * tests/test-sys_time.c (main): Likewise.
+       * tests/test-time.c (main): Likewise.
+       * tests/test-unistd.c (main): Likewise.
+       * tests/test-unlink.c (main): Likewise.
+       * tests/test-unlinkat.c (main): Likewise.
+       * tests/test-utimens.c (main): Likewise.
+       * tests/test-utimensat.c (main): Likewise.
+       * tests/test-version-etc.c (main): Likewise.
+       * tests/test-wchar.c (main): Likewise.
+       * tests/test-wctype.c (main): Likewise.
+       * tests/test-xprintf-posix.c (main): Likewise.
+       * tests/test-posixtm.c (main): Likewise.
+       (STREQ): Delete unused macro.
+       * tests/test-linkat.c (main): Declare unused arguments.  Avoid
+       shadowed variables.
+       * tests/test-memchr.c (main): Likewise.
+
+2009-10-21  Eric Blake  <ebb9@byu.net>
+
+       areadlinkat: avoid failure on older glibc
+       * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
+       rather than mis-comparing 0 against FUNC_RESULT of char*.
+
+2009-10-21  Bruno Haible  <bruno@clisp.org>
+
+       * modules/stpncpy (License): Relicense under LGPLv2+.
+       Reported by David Lutterkort <lutter@redhat.com>.
+
+2009-10-20  Eric Blake  <ebb9@byu.net>
+
+       utimensat: work around Solaris 9 bug
+       * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
+       has trailing slash bugs.
+       * tests/test-lutimens.h (test_lutimens): Enhance test.
+       * tests/test-utimens.h (test_utimens): Likewise.
+       * doc/posix-functions/utime.texi (utime): Enhance documentation.
+       * doc/posix-functions/utimes.texi (utimes): Likewise.
+       * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+       * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
+       * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
+       * doc/posix-functions/futimens.texi (futimens): Likewise.
+
+       fdutimensat: new module
+       * modules/fdutimensat: New file.
+       * lib/fdutimensat.c (fdutimensat): Likewise.
+       * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
+       * MODULES.html.sh (File system functions): Mention module.
+       * modules/fdutimensat-tests: New test.
+       * tests/test-fdutimensat.c: Likewise.
+
+       doc: regenerate INSTALL
+       * doc/INSTALL: Reflect recent autoconf update.
+       * doc/INSTALL.ISO: Likewise.
+       * doc/INSTALL.UTF-8: Likewise.
+
+2009-10-20  Pádraig Brady  <P@draigBrady.com>
+
+       acl: warn if ACL support is not detected
+       * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
+
 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
 
        * lib/nproc.h: Add extern "C" block for C++.
 
 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
        * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
        pstat_getdynamic.
 
 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
-            Bruno Haible  <bruno@clisp.org>
+           Bruno Haible  <bruno@clisp.org>
 
        Implement nproc for NetBSD, OpenBSD.
        * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
 
 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
 
-       * lib/argp-version-etc.c (program_authors): Add const
-       qualifier.
-       * lib/version-etc.c: Fix typos in the comments.
-       * modules/argp-version-etc: Depends on version-etc.
+       * lib/argp-version-etc.c (program_authors): Add const
+       qualifier.
+       * lib/version-etc.c: Fix typos in the comments.
+       * modules/argp-version-etc: Depends on version-etc.
 
 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>