maint.mk: add strncpy-prohibiting syntax-check rule
[gnulib.git] / ChangeLog
index f602966..1252100 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,235 @@
+2012-05-25  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: add strncpy-prohibiting syntax-check rule
+       * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
+
+2012-05-24  Jim Meyering  <meyering@redhat.com>
+
+       maint.mk: compute $(gpg_key_ID) more portably
+       * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
+       That use of sed is not portable to some fringe systems.
+       Reported by Paul Eggert in
+       http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
+
+2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mktime: sync from glibc
+       * config/srclist.txt: Uncomment mktime.c.
+       * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
+       First, indent with tabs, since glibc uses tabs and doesn't want to
+       change and we'd rather be identical to glibc.  Also, two small
+       coding changes:
+       (isdst_differ): Use &&, not &, as && is the usual style.
+       (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
+       for clarity.
+
+2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
+
+       announce-gen: du -h is more portable than du --human
+       * build-aux/announce-gen (sizes): Invoke du with -h instead
+       of --human.  Accept leading white space in its output.
+
+2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
+
+       announce-gen: Improve diagnostics.
+       * build-aux/announce-gen: When parsing command line options,
+       prefer "announce-gen: option --release-type requires an argument"
+       to "Option release-type requires an argument".
+
+2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
+
+       maint.mk: gpg_key_ID: use sed more portably
+       * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
+       the closing brace.
+       (refresh-po): Fuse two sed invocations into one.
+
+2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
+
+       gitlog-to-changelog: support the log message format used in Bison.
+       * build-aux/gitlog-to-changelog: Support --strip-tab and
+       --strip-cherry-picked.
+
+2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       poll/select: prevent busy-waiting.  SwitchToThread() only gives away
+       the rest of the current time slice to another thread in the current
+       process. So if the thread that feeds the file decscriptor we're
+       polling is not in the current process, we get busy-waiting.
+       * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
+       Patch from Theodore Leblond.
+       * lib/select.c: Split polling out of the loop that sets the output
+       fd_sets.  Check for zero result and loop if the wait timeout is
+       infinite.
+
+2012-05-21  Simon Josefsson  <simon@josefsson.org>
+
+       select: Fix build error on IRIX 6.5.
+       * lib/select.c: Include stddef.h for NULL.
+
+2012-05-21  Simon Josefsson  <simon@josefsson.org>
+
+       gc: fix libgcrypt detection on older machines.
+       * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
+       copyright years because the file has been distributed every year
+       since it was created.
+
+2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       crypto: fix bug in large buffer handling
+       Problem reported by Serge Belyshev for glibc in
+       <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
+       * lib/md4.c (md4_process_block):
+       * lib/md5.c (md5_process_block):
+       * lib/sha1.c (sha1_process_block):
+       * lib/sha256.c (sha256_process_block):
+       Don't assume the buffer length is less than 2**32.
+       * lib/sha512.c (sha512_process_block): Likewise.
+       Here, the bug is present only in the rare case where the host does
+       not support uint64_t or where size_t is wider than 64 bits.
+       Use u64size to work around the problems.
+       * lib/u64.h (u64size): New macro.
+
+2012-05-15  Pádraig Brady  <P@draigBrady.com>
+
+       fsusage: fix block size returned on older Linux 2.6
+
+       * lib/fsusage.c: Fall back to (struct statfs).f_frsize
+       which is available since Linux 2.6.
+       * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
+       when the member is available so it can be used as a fallback.
+       * doc/posix-functions/statvfs.texi: Mention the hang issue
+       on Linux < 2.6.36.
+
+2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       bootstrap: suppress stderr chatter
+       * build-aux/bootstrap (insert_sorted_if_absent, main program):
+       Omit unnecessary chatter to stderr.  The main program chatter
+       was there only inadvertantly.
+
+       bootstrap: .gitignore files created by autopoint, libtool
+       I ran into this problem when bootstrapping the latest diffutils.
+       After './bootstrap', 'git status' reported lots of untracked files
+       m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
+       autopoint and do not need to be version-controlled.
+       * build-aux/bootstrap: Put into .gitignore the files that
+       autopoint and libtool create, by keeping track of files that exist
+       after but not before these programs are run.
+       (version_controlled_file): Move up.  2nd arg is now full file
+       name, not base name; this is more convenient.  Put CVS at the end,
+       as it's now somewhat deprecated.
+
+2012-05-14  Jim Meyering  <meyering@redhat.com>
+
+       ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
+       * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
+       definition.  Reported by Bruno Haible.
+
+2012-05-13  Bruno Haible  <bruno@clisp.org>
+           Paul Eggert  <eggert@cs.ucla.edu>
+
+       binary-io: Define set_binary_mode function.
+       * lib/binary-io.h (set_binary_mode): New function.
+       (SET_BINARY): Define in terms of set_binary_mode.
+       * modules/binary-io (configure.ac): Require AC_C_INLINE.
+       * tests/test-binary-io.c (main): Accept an argument, and test either
+       set_binary_mode or SET_BINARY depending on the argument.
+       * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
+       argument. Clean up also t-bin-out0.tmp.
+
+2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
+
+       bootstrap: take advantage of POSIX shell features
+
+       The 'bootstrap' script offered by Gnulib script already uses POSIX
+       shell features (like $((...)) arithmetic expansions) that are not
+       supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
+       means that bootstrap must already be run using a proper POSIX shell,
+       which will thus provide more features, like ${var#pattern} parameter
+       expansion or inversion of a command exit status with '!'.  We can
+       thus use these features to improve the clarity and the performances
+       of the bootstrap script.
+
+       Suggested by Eric Blake.
+
+       * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
+       of sed/expr plus command substitutions, to save some forks.  While
+       we are at it, prefer the POSIX $(...) form of command substitution,
+       rather than the legacy form `...` (since the former is visually
+       clearer and interacts better with quoting), and prefer the idiom:
+         "if ! CMD; then ACTION ..."
+       over the idiom:
+         "if CMD; then :; else ACTION ..."
+       which was required by legacy Bourne shells not supporting '!'.
+
+2012-05-12  Bruno Haible  <bruno@clisp.org>
+
+       system-quote: Add more comments.
+       * lib/system-quote.h: Add more comments about wilcards and limitations.
+       Suggested by Eli Zaretskii <eliz@gnu.org>.
+
+       sh-quote, system-quote: Add comments about wildcards.
+       * lib/sh-quote.h: Clarify what happens with wildcard characters.
+       * lib/system-quote.h: Likewise.
+       Reported by Eli Zaretskii <eliz@gnu.org>.
+
+2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fsusage: check for GNU/Linux statvfs problem dynamically
+       * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
+       Define STAT_STATFS2_BSIZE too, since in this case the code now
+       checks dynamically whether statvfs is reliable, falling back on
+       Linux-style statfs otherwise.
+       (statvfs_works): New function, for dynamically testing statvfs.
+       (get_fs_usage) [STAT_STATVFS]: Use it.
+       * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
+       statvfs on GNU/Linux hosts, since it's now done dynamically.
+
+2012-05-10  Bruno Haible  <bruno@clisp.org>
+
+       system-quote, execute, spawn-pipe: Escape '?' on Windows.
+       * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
+       '?' character.
+       * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
+       * tests/test-system-quote-main.c (check_all): Check also strings like
+       "??????????".
+       Reported by Eli Zaretskii <eliz@gnu.org>.
+
+2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
+
+       _Noreturn: port config.h to gcc -Wundef
+       * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
+       defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
+
+2012-05-10  Bruno Haible  <bruno@clisp.org>
+
+       system-quote: Refactor.
+       * lib/system-quote.h (system_quote_copy): Fix comment.
+       * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
+       New functions, extracted from system_quote_copy.
+       (system_quote_length, system_quote_copy): Use these functions.
+       Reported by Paul Eggert.
+
+2012-05-08  Bruno Haible  <bruno@clisp.org>
+
+       execute, spawn-pipe: Escape '*' characters in arguments on Windows.
+       * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
+
+2012-05-08  Bruno Haible  <bruno@clisp.org>
+
+       Tests for module 'system-quote'.
+       * modules/system-quote-tests: New file.
+       * tests/test-system-quote.sh: New file.
+       * tests/test-system-quote-main.c: New file.
+       * tests/test-system-quote-child.c: New file.
+
+       New module 'system-quote'.
+       * lib/system-quote.h: New file.
+       * lib/system-quote.c: New file.
+       * modules/system-quote: New file.
+
 2012-05-08  Bruno Haible  <bruno@clisp.org>
 
        sh-quote: Make C++ safe and allow multiple inclusion.