X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=681d77344b41dc457a49e070d0b9155f009cb6ab;hb=9fa1fde7810f17950543fc5b6c40d953d812a1cc;hp=edba6990f637eb67e64ca524d1db17a0f929f2f2;hpb=faba3cb9ba610dcdd025f3cfc517185a4ed4b2ac;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index edba6990f..681d77344 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,746 @@ +2012-02-24 Jim Meyering + + maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too + * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp + uses with "==" *before* the call, e.g., 0 == strcmp (...) + Remove now-unnecessary str''cmp obfuscation. + Suggested by Akim Demaille. + +2012-02-24 Bruno Haible + + streq: Rename macro. + * lib/streq.h (STREQ_OPT): Renamed from STREQ. + * NEWS: Mention the change. + * lib/mbrtowc.c (mbrtowc): Update. + * lib/uniwidth/cjk.h (is_cjk_encoding): Update. + * lib/wcwidth.c (wcwidth): Update. + Suggested by Akim Demaille and Jim Meyering. + +2012-02-20 Paul Eggert + + regex: fix typo in definition of MIN + * lib/regex_internal.h (MIN): Fix typo. Problem reported by Thomas + Schwinge in . + +2012-02-19 Paul Eggert + Bruno Haible + + acl: Don't use ACL_CNT and similar ops, since they are unreliable. + * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the + entries into a stack-allocated buffer directly. + * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise. + +2012-02-19 Paul Eggert + Bruno Haible + + acl: Don't use GETACLCNT and similar ops, since they are unreliable. + + - There were several instances of this pattern: + + for (;;) { + n = acl (f, GETACLCNT, 0, NULL); + [ allocate an array A of size N ] + if (acl (f, GETACL, n, a) == n) + break; + } + + This loop might never terminate if some other process is constantly + manipulating the file's ACL. The loop should be rewritten to + terminate. + + - The acl (... GETACLNT ...) call is merely an optimization; its value + is merely a hint as to how big to make the array. A better + optimization is to avoid the acl (... GETACLNT ...) call entirely, + and just guess a reasonably-big size, growing the size and trying + again if it's not large enough. This guarantees termination, and + saves a system call. + + * lib/acl-internal.h: Include . + (MIN, SIZE_MAX): New macros. + * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into + a stack-allocated buffer, and use malloc if it does not fit. Don't + use GETACLCNT. + * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. + +2012-02-19 Bruno Haible + + acl: Fix endless loop on Solaris with vxfs. + * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing + acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT. + * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise. + * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise. + * tests/test-sameacls.c (main)[Solaris]: Likewise. + Reported by Bill Jones in + , via Paul Eggert. + +2012-02-19 Bruno Haible + + acl: Fix copy-acl test failure on Solaris 11 2011-11. + * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro. + (acl_ace_nontrivial): Relax the restrictions on access_masks[] so + that this function returns 0 in some more cases. + +2012-02-19 Bruno Haible + + acl: Update doc references. + * doc/acl-resources.txt: Update links to Solaris documentation. + +2012-02-19 Bruno Haible + + Fix test failure in many locales on Solaris 11. + * tests/test-pipe-filter-gi1.c (main): Don't use range expression in + 'tr' arguments. + * tests/test-pipe-filter-ii1.c (main): Likewise. + * build-aux/bootstrap (check_versions): Run 'tr' command with range + expressions in the C locale. + * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise. + * m4/host-os.m4 (gl_HOST_OS): Likewise. + +2012-02-19 Bruno Haible + + gnulib-tool: Improve usage message. + * gnulib-tool (func_usage): Move doc of --help and --version to the + section "Operation modes". + +2012-02-18 Reuben Thomas + + README-release: make it easier to execute commands + * top/README-release: break commands out on to separate lines. + +2012-02-16 Stefano Lattarini + + GNUmakefile: simplify detection of unconfigured trees + * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine + whether the tree make is being run from is already configured or + not. Related simplifications. + +2012-02-13 Simon Josefsson + + * gnulib-tool (func_usage): Document --help and --version. + +2012-02-11 Jim Meyering + + bootstrap: don't exit 0 upon gnulib-tool failure + * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with + its exit status, not 0. + +2011-12-19 Reuben Thomas + + README-release: various improvements + * top/README-release: Give a command to push changes for the + release. Add "distcheck" to list of other pre-release checks. + Fix instance of "make stable" which should be "make TYPE". + +2012-02-09 Paul Eggert + + maint: replace FSF snail-mail addresses with URLs + * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h: + * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c: + * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c: + * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h: + * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h: + * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c: + * lib/check-version.c, lib/check-version.h, lib/config.charset: + * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h: + * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c: + * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c: + * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h: + * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c: + * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h: + * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c: + * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h: + * lib/glthread/thread.c, lib/glthread/thread.h: + * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c: + * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h: + * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c: + * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c: + * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c: + * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c: + * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c: + * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c: + * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c: + * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c: + * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c: + * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c: + * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h: + * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h: + * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin: + * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c: + * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c: + * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c: + * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c: + * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c: + * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c: + * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h: + * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h: + * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c: + * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h: + * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c: + * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c: + * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h: + * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h: + * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h: + * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c: + * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c: + * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h: + * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c: + * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h: + * lib/xsize.h, tests/test-closein.c, tests/test-des.c: + * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c: + * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c: + * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c: + * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c: + * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c: + * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c: + * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c: + * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c: + * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c: + * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c: + * tests/test-poll.c, tests/test-quotearg-simple.c: + * tests/test-quotearg.c, tests/test-quotearg.h: + * tests/test-round-ieee.c, tests/test-round1.c: + * tests/test-roundf-ieee.c, tests/test-roundf1.c: + * tests/test-roundl-ieee.c, tests/test-roundl.c: + * tests/test-safe-alloc.c, tests/test-sigpipe.c: + * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c: + * tests/test-strerror.c, tests/test-strerror_r.c: + * tests/test-strsignal.c, tests/test-strverscmp.c: + * tests/test-xmemdup0.c: + Replace FSF snail mail addresses with URLs, as per GNU coding + standards. See glibc bug + . + +2011-12-22 Reuben Thomas + + README-release: capitalize a word and split a line + * top/README-release: Fix punctuation and spacing. + +2012-02-08 Akim Demaille + + fatal-signal: use C prototypes (with explicit void). + * lib/fatal-signal.c (uninstall_handlers, install_handlers) + (init_fatal_signal_set, block_fatal_signals): Fix signatures. + +2012-02-07 Paul Eggert + + regex: spelling fix + * lib/regexec.c: spelling fix + + regex: rely on stdint.h for SIZE_MAX + * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now. + +2012-02-07 Paul Eggert + + regex: merge glibc changes + + * lib/regcomp.c (init_dfa): Tighten overflow checks to test + for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX. + (init_word_char): Work even if bitset words are not exactly 32 or + 64 bits wide. Don't assume there are no padding bits. + * lib/regex.c [_LIBC]: Do not include . + [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure + and -Wtype-limits. + * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid + needless disagreement with glibc. All uses changed. Define it to + 1 only if _GNU_SOURCE, to match glibc. + (_REG_RM_NAME): Remove; no longer needed, since the names in + question are now all protected by __USE_GNU. + (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX. + (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE. + * lib/regex_internal.h (MIN): New macro. + + 2012-01-03 Ulrich Drepper + * lib/regcomp.c (init_word_char): Optimize regex a bit. + + 2011-12-30 Jakub Jelinek + * lib/regex_internal.c (re_string_fetch_byte_case): + Fix up regcomp/regexec. The problem is that parse_bracket_symbol + is miscompiled, and it turns out it is because of an incorrect + attribute on re_string_fetch_byte_case. Unlike + re_string_peek_byte_case, this one is really not pure, it modifies + memory (increments pstr->cur_idx), and with the pure attribute GCC + assumed it doesn't and it cached the presumed value of + regexp->cur_idx in a variable across the + for (;; ++i) + { + if (i >= BRACKET_NAME_BUF_SIZE) + return REG_EBRACK; + if (token->type == OP_OPEN_CHAR_CLASS) + ch = re_string_fetch_byte_case (regexp); + else + ch = re_string_fetch_byte (regexp); + if (re_string_eoi(regexp)) + return REG_EBRACK; + if (ch == delim && re_string_peek_byte (regexp, 0) == ']') + break; + elem->opr.name[i] = ch; + } + + 2011-11-29 Andreas Schwab + * lib/regcomp.c (build_equiv_class): + Fix access after end of search string in regex matcher. + + 2011-11-12 Ulrich Drepper + * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex. + + 2011-10-12 Ulrich Drepper + * lib/regcomp.c (parse_branch): One more regex memory leak fixed. + + 2011-10-11 Ulrich Drepper + * lib/regcomp.c (parse_branch, parse_sub_exp): + More regex memory leak fixes and tests. + (parse_sub_exp, parse_bracket_exp): + Fix memory leak for some invalid regular expressions. + + 2011-05-28 Ulrich Drepper + * lib/regex_internal.c, lib/regexec.c: + Fix unnecessary overallocation due to incomplete character. When + incomplete characters are found at the end of a string the code + ran amok and allocated lots of memory. Stricter limits are now in + place. + + 2011-05-20 Reuben Thomas + * lib/regex.h: Update documentation. + + 2011-05-16 Aharon Robbins + * lib/regex.h: Update RE_SYNTAX*_AWK constants. + + 2010-05-05 Andreas Schwab + * lib/regexec.c (find_collation_sequence_value): + Fix lookup of collation sequence value during regexp matching. + + 2010-01-22 Ulrich Drepper + * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection. + + 2008-01-16 Ulrich Drepper + * lib/regex.h: Cleanup namespace. + + 2007-11-26 Ulrich Drepper + * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K. + + 2007-08-26 Ulrich Drepper + * lib/regex_internal.h: Prevent some declarations and definitions + to be seen when used in tests. + + 2005-05-06 Ulrich Drepper + * lib/regex_internal.h: Include bits/libc-lock.h or define dummy + __libc_lock_* macros if not _LIBC. + (struct re_dfa_t): Add lock. + +2012-02-07 Eric Blake + + maint.mk: also prohibit lower-case @var@ + * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover + lower case, like @top_srcdir@. + +2012-02-04 Eric Blake + + canonicalize: avoid uninitialized memory use + * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of + random '/' left in dest. + * lib/canonicalize.c (canonicalize_filename_mode): Likewise. + +2012-02-04 Bruno Haible + + isatty: Fix test failure of ptsname_r on native Windows. + * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1, + and don't set errno. + (isatty): Test first whether fd is valid. Set errno when returning 0. + +2012-02-04 Bruno Haible + + spawn-pipe tests: Fix a NULL program name in a diagnostic. + * tests/test-spawn-pipe-main.c: Include progname.h. + (main): Invoke set_program_name. + * modules/spawn-pipe-tests (Depends-on): Add progname. + + nonblocking-socket tests: Fix a NULL program name in a diagnostic. + * tests/test-nonblocking-socket-main.c: Include progname.h. + (main): Invoke set_program_name. + * modules/nonblocking-socket-tests (Depends-on): Add progname. + + nonblocking-pipe tests: Fix a NULL program name in a diagnostic. + * tests/test-nonblocking-pipe-main.c: Include progname.h. + (main): Invoke set_program_name. + * modules/nonblocking-pipe-tests (Depends-on): Add progname. + +2012-02-04 Eric Blake + + canonicalize-lgpl: fix // handling + * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //. + + canonicalize: fix // handling + * lib/canonicalize.c (canonicalize_filename_mode): Don't convert + /// to //, since only // is special. + +2012-02-04 Bruno Haible + + ioctl: Fix test failure on native Windows. + * lib/ioctl.c: Include msvc-nothrow.h. + (primary_ioctl): If fd is not a valid handle, set errno to EBADF. + +2012-02-04 Bruno Haible + + fsync: Avoid test failure on native Windows. + * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely + read-only. + +2012-02-04 Bruno Haible + + sys_select: Avoid syntax error on OpenBSD 5.0. + * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is + currently being included, just include the system's . + +2012-02-04 Bruno Haible + + sys_select: Avoid syntax error on OpenBSD 5.0. + * lib/sys_select.in.h: Include only after the include_next + , not before. + Reported by Jiri B . + +2012-02-04 Bruno Haible + + get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7. + * tests/test-get-rusage-as.c (main): Assign the malloc() results to + global variables. + * tests/test-get-rusage-data.c (main): Likewise. + Reported by Jim Meyering. + +2012-02-04 Bruno Haible + + stdioext: Fix last commit. + * lib/fwritable.c [EPLAN9]: Include . + +2012-02-03 Bruno Haible + + stdioext: Add tentative support for Plan9. + * lib/stdio-impl.h: Include . + * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code. + * lib/freadable.c (freadable): Likewise. + * lib/fwritable.c (fwritable): Likewise. + * lib/fbufmode.c (fbufmode): Likewise. + * lib/freading.c (freading): Likewise. + * lib/fwriting.c (fwriting): Likewise. + * lib/freadptr.c (freadptr): Likewise. + * lib/freadseek.c (freadptrinc): Likewise. + * lib/freadahead.c (freadahead): Likewise. + * lib/fpurge.c (fpurge): Likewise. + * lib/fseeko.c (rpl_fseeko): Likewise. + * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9. + Reported by Jens Staal . + +2012-02-02 Jim Meyering + + file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const + * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs) + would evoke a new gcc warning. Given all of the #ifdefs, it is better + not even to try to add the attribute. Instead, add a pragma to suppress + the suggestion/warning. + +2012-01-31 Karl Berry + + setstate doc: typo. + * doc/posix-functions/setstate.texi (setstate): { not (. + +2012-01-31 Bruno Haible + + popen: Make more robust on Windows. + * lib/popen.c: On native Windows, use the _popen based code even if + HAVE_POPEN is set. + * doc/posix-functions/popen.texi: Mention necessity of COMSPEC + environment variable on native Windows. + +2012-01-30 Bruno Haible + + pclose: Fix typo. + * lib/stdio.in.h (pclose): Fix typo in warning message. + +2012-01-30 Bruno Haible + + doc about getlogin_r, setstate. + * doc/posix-functions/getlogin_r.texi: List the incompatible + declaration problem under "not fixed by gnulib". + * doc/posix-functions/setstate.texi: Mention incompatible declaration + problem on Solaris 11 and other platforms. + +2012-01-30 Chuanchang Jia (tiny change) + Bruno Haible + + poll tests: Make test more robust. + * tests/test-poll.c: Include macros.h. + (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify + return value of various I/O operations. + * modules/poll-tests (Files): Add tests/macros.h. + +2012-01-30 Bruno Haible + + sys_stat: Fix support for mingw64 and MSVC. + * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system + header files already do it. + (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not + stat itself. + Reported by Marc-André Lureau . + +2012-01-30 Bruno Haible + + wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0. + * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0. + * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug. + +2012-01-29 Bruno Haible + + quotearg: Fix test failure on MacOS X 10.5. + * tests/test-quotearg-simple.c: Include localcharset.h. + (main): If the locale encoding is not ASCII, bypass the tests of + locale_quoting_style and clocale_quoting_style. + * modules/quotearg-tests (Depends-on): Add 'localcharset'. + +2012-01-29 Jim Meyering + + maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive + * top/maint.mk (sc_prohibit_canonicalize_without_use): Also + detect uses of canonicalize_file_name. + +2012-01-28 Bruno Haible + + test-framework-sh: Fix test failure with AIX 7.1 diff. + * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space + in column 1, like 'diff -c' does. + * tests/test-init.sh (test_compare): Don't repeat the test from init.sh + whether 'diff -u' is used. Instead, test whether the output contains + some '@' character. + +2012-01-28 Paul Eggert + + strtoimax: eliminate need for stdint.h, inttypes.h checks + * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use + gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H. This reduces + the prerequisites for a recently-introduced strtoimax test. + I guess this might cause strtoimax to be replaced when not + strictly necessary on older hosts, but this shouldn't introduce + any bugs and it should make Emacs 'configure' faster on typical + modern hosts. Problem discovered when importing the latest gnulib + to an Emacs test version. + * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4. + +2012-01-28 Bruno Haible + + sys_time: Override 'struct timeval' on some native Windows platforms. + * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec + has the right type. Set REPLACE_STRUCT_TIMEVAL if not. + (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL. + * lib/sys_time.in.h: Include also when 'struct timeval' + needs to be overridden. + (timeval): Override if REPLACE_STRUCT_TIMEVAL is set. + * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL. + * tests/test-sys_select.c: Check that the tv_sec member has the same + size as a 'time_t'. + * tests/test-sys_time.c: Likewise. + * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL + is set, set also REPLACE_GETTIMEOFDAY. + * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden, + convert the resulting 'struct timeval' before returning. + * lib/select.c: Include . + (select, timeval): Undefine at the right place. + * modules/select (Depends-on): Add sys_time. + * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on + some Windows platforms. + Reported by Marc-André Lureau . + +2012-01-28 Marc-André Lureau (tiny change) + + accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64. + * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to + an integer. + * lib/fcntl.c (dupfd): Likewise. + * lib/w32sock.h (SOCKET_TO_FD): Likewise. + +2012-01-28 Bruno Haible + + fcntl: Avoid compilation error on native Windows. + * modules/fcntl (Depends-on): Add 'close'. + +2012-01-28 Marc-André Lureau (tiny change) + + select, poll, isatty: Avoid warnings on x86_64 mingw64. + * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle + pointer to an integer. + * lib/poll.c (IsConsoleHandle): Likewise. + * lib/isatty.c (IsConsoleHandle): Likewise. + +2012-01-28 Jim Meyering + + doc: clarify README-release + * top/README-release: Clarify: you should make a point to have + the latest stable versions of build tools in your PATH, and the + reference to buildreq is solely for its list of tool names, not + for its minimal-functional version numbers. + Prompted by discussion with Reuben Thomas and Gary V. Vaughan. + + maint.mk: use more readable (yet functionally equivalent) quoting + It is common to quote a single quote in a single quoted string like + this: '...'\''...'. Unless you know the idiom, that looks like + gibberish, so prefer to double-quote the string when possible. + Then you can use a more readable, lone single quote: "...'..." + * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this + "don't" is more readable than the equivalent 'don'\''t'. + (sc_cast_of_x_alloc_return_value): Likewise. + (sc_cast_of_alloca_return_value): Likewise. + (sc_makefile_path_separator_check): Similar: use ":" in '...', + rather than '\'':'\''. + +2012-01-27 Paul Eggert + + stdalign: relax _Alignof and tighten _Alignas test + * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test, + as it was too strict: alignof must divide offsetof, but it need + not equal offsetof. Inspired by Joseph S. Myers's comment + . + Conversely, tighten the _Alignas test a bit, as the resulting + alignment must be exactly 8. + +2012-01-27 Bruno Haible + + stdalign: Document the last change. + * doc/posix-headers/stdalign.texi: Mention GCC bug 52023. + +2012-01-27 Paul Eggert + + stdalign: check that alignof and offsetof are consistent + * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023. + Problem reported for gnulib by Richard W.M. Jones in + . + +2012-01-27 Jim Meyering + + update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2 + * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2, + convert a sequence with gaps to the minimal containing range. + For example, convert 2000, 2004-2007, 2009 to 2000-2009. + * tests/test-update-copyright.sh: Test for this. + The FSF confirmed it is ok to do this, assuming there is at + least one significant change per year in the affected range: + http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860 + +2012-01-26 Bruno Haible + + pipe2: refine doc about thread-safety + * doc/glibc-functions/pipe2.texi: Clarify the extent of the + multithread-safety problem. + * doc/glibc-functions/accept4.texi: Likewise. + +2012-01-26 Bruno Haible + + posix_spawn_file_actions_addopen: Fix 2012-01-08 commit. + * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): + In the test program, include , for O_RDONLY. + +2012-01-26 Eric Blake + + pipe2: document lack of thread-safety in replacement + * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety + issue in replacement. + * doc/glibc-functions/accept4.texi (accept4): Likewise. + Based on a report by Eric Wong. + +2012-01-24 Marc-André Lureau (tiny change) + Bruno Haible + + malloca: Avoid warnings on x86_64 mingw64. + * lib/malloca.c: Include . + (mmalloca, freea): Use uintptr_t to convert pointers to integers. + * modules/malloca (Depends-on): Add stdint. + * modules/relocatable-prog-wrapper (Depends-on): Likewise. + +2012-01-25 Paul Eggert + + obstack: remove __STDC__ conditionals + * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph + S. Myers in . + This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in + m4/include_next.m4 as the only gnulib-maintained places that still + refer to __STDC__. + +2012-01-24 Bruno Haible + + havelib: Modern quoting. + * build-aux/config.rpath: Quote 'like this', not `like this', as per + the recent change to the GNU coding standards. + +2012-01-24 Bruno Haible + + stdint: Improve support for Android. + * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__. + Reported by Simon Josefsson . + +2012-01-23 Paul Eggert + + doc: omit trailing empty lines from INSTALL etc. + * doc/Makefile (INSTALL): Omit trailing empty lines. + (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also + omit trailing empty lines. This simplifies the build procedure. + +2012-01-23 Jim Meyering + + tests: avoid spurious warnings about gl_sockets_startup + Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value + would warn about every use of "gl_sockets_startup (SOCKETS_1_1);" + reporting a "statement with no effect". + * tests/test-accept.c (main): Mark as "(void)". + * tests/test-accept4.c (main): Likewise. + * tests/test-bind.c (main): Likewise. + * tests/test-connect.c (main): Likewise. + * tests/test-getpeername.c (main): Likewise. + * tests/test-getsockname.c (main): Likewise. + * tests/test-getsockopt.c (main): Likewise. + * tests/test-listen.c (main): Likewise. + * tests/test-recv.c (main): Likewise. + * tests/test-recvfrom.c (main): Likewise. + * tests/test-send.c (main): Likewise. + * tests/test-sendto.c (main): Likewise. + * tests/test-setsockopt.c (main): Likewise. + * tests/test-shutdown.c (main): Likewise. + +2012-01-21 Bruno Haible + + locale-fr.m4: Fix for Android. + * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation + failure of the test program on Bionic libc. + +2012-01-21 Jim Meyering + + bootstrap: fail when bootstrap_post_import_hook fails + Otherwise, it's far too easy to miss diagnostics emitted + between gnulib-tool's output and that of running configure. + * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails. + +2012-01-17 Jim Meyering + + maint: enable sc_trailing_blank + * build-aux/pmccabe.css: Remove trailing blanks. + * doc/acl-cygwin.txt: Likewise. + * doc/gnu-oids.texi: Likewise + * cfg.mk: Enable sc_trailing_blank. + Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_openat_without_use + * cfg.mk: Enable sc_prohibit_openat_without_use. + Exempt lib/selinux-at.c. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_cloexec_without_use + * cfg.mk: Enable sc_prohibit_cloexec_without_use. + * lib/dup-safer-flag.c: Don't include "cloexec.h". Not needed. + +2012-01-17 Jim Meyering + + maint: enable sc_prohibit_intprops_without_use + * cfg.mk: Enable sc_prohibit_intprops_without_use + * tests/test-nanosleep.c: Don't include "intprops.h". Not needed. + 2012-01-17 Jim Meyering maint: enable sc_prohibit_hash_pjw_without_use