gnulib.git
13 years agostrftime: fix a bug in yesterday's change
Jim Meyering [Mon, 21 Mar 2011 14:32:54 +0000 (15:32 +0100)]
strftime: fix a bug in yesterday's change

* lib/strftime.c (add): Accommodate width's initial value of -1.
Otherwise, nstrftime would copy uninitialized data into
the result buffer.

13 years agotests: add strftime-tests module
Jim Meyering [Mon, 21 Mar 2011 14:09:10 +0000 (15:09 +0100)]
tests: add strftime-tests module

* tests/test-strftime.c: New file.
* modules/strftime-tests: New module.

13 years agostrftime: don't assume a byte count fits in 'int'
Paul Eggert [Mon, 21 Mar 2011 06:59:29 +0000 (23:59 -0700)]
strftime: don't assume a byte count fits in 'int'

* lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
found this problem by static analysis, using gcc -Wstrict-overflow
(GCC 4.5.2, x86-64).  This reported an optimization that depended
on an integer overflow having undefined behavior, but it turns out
that the argument is a size, which might not fit in 'int' anyway,

2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>

13 years agostdio: don't require ignore_value around fwrite
Paul Eggert [Mon, 21 Mar 2011 03:02:28 +0000 (20:02 -0700)]
stdio: don't require ignore_value around fwrite

This patch works around libc bug 11959
<http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
Without this patch, applications must often write
ignore_value (fwrite (...)) even though the ignore_value is
not helpful here.  It's common to write many objects, using
fwrite/printf/etc., and then use ferror to detect output error.

I considered making this patch optional, but decided against it,
because libc is obviously being inconsistent here: there is no
reason libc should insist that user code must inspect fwrite
return's value without also insisting that it inspect printf's,
putchar's, etc.  If user code wants to have a strict style where
all these functions' values are checked (so that ferror need not
be checked), we could add support for that style in a new gnulib
module, but in the meantime it's better to be consistent and to
support common usage.

* lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
that we are compiling in checking mode, and if not C++, and
if not already wrapping fwrite for some other reason.
(fwrite): #define to rpl_fwrite if the latter is defined.

13 years agoverror: Fix compilation error introduced on 2011-02-13.
Bruno Haible [Sun, 20 Mar 2011 21:34:13 +0000 (22:34 +0100)]
verror: Fix compilation error introduced on 2011-02-13.

* lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
instead of __attribute__.
Reported by Tom G. Christensen <tgc@jupiterrise.com>.

13 years agosocklen: do not depend on sys_socket
Paul Eggert [Sun, 20 Mar 2011 11:51:49 +0000 (12:51 +0100)]
socklen: do not depend on sys_socket

While trying to modify Emacs to use gnulib's socklen module,
I discovered a circular dependency: socklen depends on sys_socket
and vice versa.  Emacs can use socklen, but it does not need
sys_socket because it has its own substitute for sys/socket.h.
* m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
gl_TYPE_SOCKLEN_T.
(gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
gl_PREREQ_SYS_H_SOCKET.
(gl_TYPE_SOCKLEN_T): Require it instead of requiring
gl_PREREQ_SYS_H_SOCKET.
* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
* modules/socklen (Depends-on): Do not depend on sys_socket.
(Include): Adjust to match the code used in gl_SOCKET_HEADERS.

13 years agomaint.mk: sort file names *after* new transformation
Jim Meyering [Sun, 20 Mar 2011 10:31:11 +0000 (11:31 +0100)]
maint.mk: sort file names *after* new transformation

* top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
prefix would have led to an unwarranted failure in GNU parted.
Sort after that transformation.

13 years agomaint.mk: fix po-file syntax-check rule
Jim Meyering [Sat, 19 Mar 2011 17:21:56 +0000 (18:21 +0100)]
maint.mk: fix po-file syntax-check rule

* top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
Patch by Bruno Haible.

13 years agosocklen: Update comment.
Bruno Haible [Sat, 19 Mar 2011 13:25:18 +0000 (14:25 +0100)]
socklen: Update comment.

* m4/socklen.m4: Update comment about platforms.

13 years agoinet_ntop, inet_pton: Simplify.
Paul Eggert [Sat, 19 Mar 2011 12:58:17 +0000 (13:58 +0100)]
inet_ntop, inet_pton: Simplify.

* modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
documented to provide socklen_t and we already depend on sys_socket.
* modules/inet_pton (Depends-on): Likewise.
* lib/arpa_inet.in.h: Adjust comment.

13 years agonetdb: Simplify.
Paul Eggert [Sat, 19 Mar 2011 12:55:24 +0000 (13:55 +0100)]
netdb: Simplify.

* modules/netdb (Depends-on): Remove socklen, since sys_socket is
documented to provide socklen_t and we already depend on sys_socket.
* lib/netdb.in.h: Adjust comment.

13 years agosys_socket, netdb: Document problem with socklen_t.
Bruno Haible [Sat, 19 Mar 2011 12:39:12 +0000 (13:39 +0100)]
sys_socket, netdb: Document problem with socklen_t.

* doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
platforms.
* doc/posix-headers/netdb.texi: Likewise.

13 years agomaint.mk: let po check work in VPATH build
Eric Blake [Fri, 18 Mar 2011 21:32:24 +0000 (15:32 -0600)]
maint.mk: let po check work in VPATH build

* top/maint.mk (po_file): Allow cfg.mk override.
(sc_po_check): Allow VPATH use.
Reported by Jiri Denemark.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint.mk: allow fine-grained syntax-check exclusion via Make variables
Jim Meyering [Wed, 16 Mar 2011 11:14:21 +0000 (12:14 +0100)]
maint.mk: allow fine-grained syntax-check exclusion via Make variables

Before, you would have had to create one .x-sc_ file per rule in order
to exempt offending files.  Now, you may instead use a Make variable --
usually defined in cfg.mk -- whose name identifies the affected rule.
* top/maint.mk (_sc_excl): Define.
(VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
(_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.

13 years agoignore-value tests: Avoid warnings.
Bruno Haible [Mon, 14 Mar 2011 22:07:46 +0000 (23:07 +0100)]
ignore-value tests: Avoid warnings.

* tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
empty for gcc < 3.4.

13 years agopassfd: Fix link error on Solaris.
Bruno Haible [Sun, 13 Mar 2011 23:04:20 +0000 (00:04 +0100)]
passfd: Fix link error on Solaris.

* modules/passfd (Description): Correct.
(Depends-on): Add socketlib.
(Link): New section.
* modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.

13 years agopassfd: Fix link error on AIX 5.2.
Bruno Haible [Sun, 13 Mar 2011 22:59:21 +0000 (23:59 +0100)]
passfd: Fix link error on AIX 5.2.

* m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.

13 years agopassfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
Bruno Haible [Sun, 13 Mar 2011 22:54:58 +0000 (23:54 +0100)]
passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.

* lib/sys_socket.in.h: Include <stddef.h>.
* m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
CMSG_FIRSTHDR. Remove unused variable.

13 years agopassfd: Fix compilation error on OpenBSD.
Bruno Haible [Sun, 13 Mar 2011 22:45:25 +0000 (23:45 +0100)]
passfd: Fix compilation error on OpenBSD.

* lib/passfd.c: Include <sys/uio.h>.

13 years agopassfd test: Fix warnings.
Bruno Haible [Sun, 13 Mar 2011 22:44:17 +0000 (23:44 +0100)]
passfd test: Fix warnings.

* tests/test-passfd.c: Include <sys/wait.h>.
(main): Fix typo.

13 years agopassfd test: Fix warnings.
Bruno Haible [Sun, 13 Mar 2011 22:40:23 +0000 (23:40 +0100)]
passfd test: Fix warnings.

* tests/test-passfd.c: Include <sys/wait.h>.
(main): Fix typo.

13 years agopassfd module, part 4, tweaks.
Bruno Haible [Sun, 13 Mar 2011 19:25:19 +0000 (20:25 +0100)]
passfd module, part 4, tweaks.

* tests/test-passfd.c: Reorder includes.
(main): Fix perror and printf calls.

13 years agopassfd module, part 4.
Bastien Roucariès [Sun, 13 Mar 2011 18:52:34 +0000 (19:52 +0100)]
passfd module, part 4.

* modules/passfd-tests: New file.
* tests/test-passfd.c: New file.

13 years agoMakefile: rely on GNU make; derive syntax-check rule names
Jim Meyering [Sun, 13 Mar 2011 17:45:33 +0000 (18:45 +0100)]
Makefile: rely on GNU make; derive syntax-check rule names

Rather than requiring that each sc_ rule be listed as a dependent
of "check", use features of GNU make to derive the list.
* Makefile (syntax-check-rules): Define.
(check): Depend on the new variable, not the hard-coded list.
Add a comment listing a few requirements.

13 years agopassfd module, part 3.
Bastien Roucariès [Sun, 13 Mar 2011 15:36:30 +0000 (16:36 +0100)]
passfd module, part 3.

* lib/passfd.h (recvfd): Add a flags argument.
* lib/passfd.c: Include <fcntl.h>, cloexec.h.
(recvfd): Add a flags argument.
* m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
exists.
* modules/passfd (Depends-on): Add cloexec.
Suggested by Eric Blake.

13 years agopassfd module, part 2, tweaks.
Bruno Haible [Sun, 13 Mar 2011 14:36:47 +0000 (15:36 +0100)]
passfd module, part 2, tweaks.

* modules/passfd (Files): Reorder.
(Depends-on): Remove errno.
(Include): Remove <sys/socket.h>, <sys/un.h>.
* lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
* lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
specification header. Include <sys/socket.h> always. Don't include
<winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
(sendfd): Clarify that it sets errno when it fails.
(recvfd): Fix specification.

13 years agopassfd module, part 2.
Bastien Roucariès [Sun, 13 Mar 2011 14:06:52 +0000 (15:06 +0100)]
passfd module, part 2.

* modules/passfd: New file.
* lib/passfd.h: New file.
* lib/passfd.c: New file.

13 years agowcswidth, mbswidth: Avoid integer overflow.
Bruno Haible [Sat, 12 Mar 2011 12:54:43 +0000 (13:54 +0100)]
wcswidth, mbswidth: Avoid integer overflow.

* lib/wcswidth.c: Include <limits.h>.
* lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
* lib/mbswidth.c: Include <limits.h>.
(mbsnwidth): Avoid 'int' overflow.
Reported by Jim Meyering.

13 years agoOops, fix last commit.
Bruno Haible [Sat, 12 Mar 2011 12:32:33 +0000 (13:32 +0100)]
Oops, fix last commit.

13 years agofutimens, utimensat: Avoid endless recursion on Solaris 10.
Bruno Haible [Sat, 12 Mar 2011 11:39:06 +0000 (12:39 +0100)]
futimens, utimensat: Avoid endless recursion on Solaris 10.

* lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
Solaris.
Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.

13 years agomaint.mk: relax a regexp to accommodate other formatting styles
Jim Meyering [Fri, 11 Mar 2011 10:44:12 +0000 (11:44 +0100)]
maint.mk: relax a regexp to accommodate other formatting styles

* top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
between "ngettext" and the following "(".

13 years agomaint.mk: suppress a syntax check false positive
Pádraig Brady [Fri, 11 Mar 2011 01:12:56 +0000 (01:12 +0000)]
maint.mk: suppress a syntax check false positive

* top/maint.mk (sc_unmarked_diagnostics): Don't warn when
diagnostics are marked with ngettext.

13 years agowchar: add explicit dependencies, for Tru64
Eric Blake [Thu, 10 Mar 2011 23:26:20 +0000 (16:26 -0700)]
wchar: add explicit dependencies, for Tru64

Commit 9a354cd exposed a few modules that were previously
picking up the <wchar.h> replacement via indirect dependency,
rather than explicitly including it.  This led to a compile
failure on Tru64 for the vsnprintf module, for example.

* modules/mbmemcasecoll (Depends-on): Add wchar.
* modules/mbtowc (Depends-on): Likewise.
* modules/vasnprintf (Depends-on): Likewise.
* modules/unistdio/u-printf-args (Depends-on): Likewise.
* modules/wctomb (Depends-on): Likewise.
Reported by Peter O'Gorman.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agopassfd module, part 1, tweaks.
Bruno Haible [Tue, 8 Mar 2011 09:50:59 +0000 (10:50 +0100)]
passfd module, part 1, tweaks.

* m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
Improve indentation. Improve AC_MSG_CHECKING messages.
* m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
gl_SOCKET_FAMILIES.

13 years agopassfd module, part 1.
Bastien Roucariès [Tue, 8 Mar 2011 09:37:18 +0000 (10:37 +0100)]
passfd module, part 1.

* m4/afunix.m4: New file.
* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
sockets.

13 years agoregex-quote: New API.
Bruno Haible [Tue, 8 Mar 2011 09:09:47 +0000 (10:09 +0100)]
regex-quote: New API.

* lib/regex-quote.h: Include <stdbool.h>.
(struct regex_quote_spec): New type.
(regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
New declarations.
(regex_quote_length, regex_quote_copy, regex_quote): Take a
'const struct regex_quote_spec *' argument.
* lib/regex-quote.c (RE_*, PCRE_*): New macros.
(pcre_special): New constant.
(regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
New functions.
(regex_quote_length, regex_quote_copy, regex_quote): Take a
'const struct regex_quote_spec *' argument.
* modules/regex-quote (Depends-on): Add stdbool.
* tests/test-regex-quote.c (check): Update for new API. Add test for
anchored results.
* NEWS: Mention the API change.
Reported by Reuben Thomas and Eric Blake.

13 years agoregex-quote: Fix creation of POSIX extended regular expressions.
Bruno Haible [Sun, 6 Mar 2011 13:25:49 +0000 (14:25 +0100)]
regex-quote: Fix creation of POSIX extended regular expressions.

* lib/regex-quote.c (ere_special): Add grouping and alternation
operators.

13 years agodoc: Improve doc regarding autopoint vs. gnulib.
Bruno Haible [Sat, 5 Mar 2011 13:33:55 +0000 (14:33 +0100)]
doc: Improve doc regarding autopoint vs. gnulib.

* doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
disable autopoint while running autoreconf.
Suggested by Ralf Wildenhues.

13 years agoUpdate AC_OPENMP macro for Lahey compiler on GNU/Linux.
Ralf Wildenhues [Sat, 5 Mar 2011 07:39:29 +0000 (08:39 +0100)]
Update AC_OPENMP macro for Lahey compiler on GNU/Linux.

* m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13 years agoparse-duration: remove xalloc.h dependency
Bruce Korb [Thu, 3 Mar 2011 23:07:32 +0000 (15:07 -0800)]
parse-duration: remove xalloc.h dependency

* lib/parse-duration.c (parse_period): handle NULL return from
strdup instead of calling xstrdup().
* modules/parse-duration: remove "xalloc" dependency

13 years agobootstrap: honor m4_base when running aclocal
Matthew Booth [Thu, 3 Mar 2011 21:15:13 +0000 (22:15 +0100)]
bootstrap: honor m4_base when running aclocal

* build-aux/bootstrap: Fix hard-coded use of m4 directory name.

13 years agogetopt-gnu: relax license from LGPLv3+ to LGPLv2+
Jim Meyering [Wed, 2 Mar 2011 17:48:01 +0000 (18:48 +0100)]
getopt-gnu: relax license from LGPLv3+ to LGPLv2+

* modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
on request from Matthew Booth.

13 years agotest-link: work on Hurd
Eric Blake [Tue, 1 Mar 2011 23:27:51 +0000 (16:27 -0700)]
test-link: work on Hurd

* tests/test-link.h (test_link): Hurd rejects linking directories
with EISDIR instead of the POSIX-mandated EPERM.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agostdio: simplify by moving files to printf-posix, sigpipe
Paul Eggert [Mon, 28 Feb 2011 23:11:11 +0000 (15:11 -0800)]
stdio: simplify by moving files to printf-posix, sigpipe

* m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
since this symbol is needed only if printf is replaced.
* m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
Require gl_ASM_SYMBOL_PREFIX.
* modules/printf-posix (Files): Add m4/asm-underscore.m4.
* modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
(Depends-on): Add 'raise'.
(configure.ac): Require gl_ASM_SYMBOL_PREFIX.
* modules/stdio (Files): Remove lib/stdio-write.c,
m4/asm-underscore.m4.
(Depends-on): Remove 'raise'.

13 years agostdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
Paul Eggert [Mon, 28 Feb 2011 23:10:55 +0000 (15:10 -0800)]
stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello

* m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
* modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.

13 years agolocalcharset: Assume ANSI C behaviour of free().
Bruno Haible [Mon, 28 Feb 2011 22:39:24 +0000 (23:39 +0100)]
localcharset: Assume ANSI C behaviour of free().

* lib/localcharset.c (get_charset_aliases): Remove NULL test before
calling free().
Suggested by Simon Josefsson <simon@josefsson.org>.

13 years agoOn Cygwin, use /proc file system instead of win32 API.
Bruno Haible [Mon, 28 Feb 2011 22:19:49 +0000 (23:19 +0100)]
On Cygwin, use /proc file system instead of win32 API.

* lib/relocatable.c: On Cygwin, use file names from /proc, rather than
Win32 file names.
(DllMain): Simplify by removing Cygwin specific code.
(find_shared_library_fullname): Use Linux specific implementation also
for Cygwin.
(get_shared_library_fullname): Update accordingly.
* lib/progreloc.c: On Cygwin, use file names from /proc, rather than
Win32 file names.
(find_executable): On Cygwin, use /proc, like on Linux. Remove previous
Cygwin specific code.

13 years agoFix OpenMP flag detection for various Fortran compilers.
Christian Rössel [Sun, 20 Feb 2011 17:50:14 +0000 (18:50 +0100)]
Fix OpenMP flag detection for various Fortran compilers.

* m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
OpenMP-conditional compilation construct, to force compile
failure with missing OpenMP flag.
(AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13 years agoupdate from texinfo
Karl Berry [Mon, 28 Feb 2011 01:03:03 +0000 (17:03 -0800)]
update from texinfo

13 years agoautoupdate
Karl Berry [Sun, 27 Feb 2011 15:06:15 +0000 (07:06 -0800)]
autoupdate

13 years agostrstr: expand test coverage
Eric Blake [Fri, 25 Feb 2011 23:16:39 +0000 (16:16 -0700)]
strstr: expand test coverage

* tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
compilation.
* tests/test-memmem.c (main): Duplicate tests.
* tests/test-strcasestr.c (main): Likewise.
* tests/test-c-strcasestr.c (main): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint.mk: detect missing-NL-at-EOF, too
Jim Meyering [Fri, 25 Feb 2011 19:18:02 +0000 (20:18 +0100)]
maint.mk: detect missing-NL-at-EOF, too

* top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
it also detects when a file lacks a newline at EOF.
(require_exactly_one_NL_at_EOF_): Renamed from
detect_empty_lines_at_EOF_.  I opted not to rename the rule,
since people may well have .x-sc_... file names tied to the
existing name.  Suggested by Eric Blake.

13 years agodirname: move m4/dos.m4 functionality into lib/dosname.h
Paul Eggert [Fri, 25 Feb 2011 18:52:37 +0000 (10:52 -0800)]
dirname: move m4/dos.m4 functionality into lib/dosname.h

m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
extracts symbols from it, puts them into config.h; but it's much
easier to use the symbols directly.  filename.h already does this,
but it disagrees with dos.m4 in some respects.  This patch
introduces a different include file dosname.h that packages up
dos.m4, and then later we can work on merging filename.h and
dosname.h.  Applications that need only the easy-to-configure
symbols should consider including dosname.h rather than dirname.h.
* NEWS: Mention incompatible changes.
* m4/dos.m4: Remove.
* lib/dosname.h, modules/dosname: New files.
* lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
(FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
(IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
* lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
Include dosname.h, not dirname.h.
* lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
Include dosname.h, for definitions of symbols like ISSLASH
that used to be in config.h.
* m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
* m4/stat.m4 (gl_FUNC_STAT): Likewise.
* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
* modules/dirname-lgpl (Files): Omit m4/dos.m4.
* modules/rmdir (Files): Likewise.
* modules/stat (Files): Likewise.
* modules/unlink (Files): Likewise.
* modules/dirname-lgpl (Depends-on): Add dosname.
* modules/lstat (Depends-on): Likewise.
* modules/openat (Depends-on): Likewise.
* modules/rmdir (Depends-on): Likewise.
* modules/savewd (Depends-on): Likewise.
* modules/stat (Depends-on): Likewise.
* modules/unlink (Depends-on): Likewise.
* modules/openat (Depends-on): Remove dirname-lgpl.
* modules/savewd (Depends-on): Likewise.
* tests/test-dirname.c: Do not use removed symbols like
FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
the remaining symbols, e.g., ISSLASH ('\\').

13 years agostrstr: revert patches that introduced bug and pessimization
Eric Blake [Fri, 25 Feb 2011 16:10:57 +0000 (09:10 -0700)]
strstr: revert patches that introduced bug and pessimization

Jim's one-liner solved the bug by pessimizing speed, making the
algorithm shift less per iteration and thus perform more repeated
comparisons.  The real reason for the bug is that my supposed
"optimizations" actually resulted in cases on certain periodic needles
where critical_factorization returned a factorization that was equal
to, rather than less than the period of the needle.  This makes the
CMP_FUNC choose the wrong branch, since a periodic needle must be
handled differently than one where the left half of the needle does
not overlap the right half.

Thankfully, the flawed "optimization" was only present in gnulib, and
was never ported to glibc or cygwin (the only two known
implementations that use the two-way algorithm), so no additional m4
check is needed to detect the bug in the wild.

* lib/str-two-way.h: Add another reference.
(two_way_short_needle, two_way_long_needle): Revert changes from
2011-02-24; they pessimize search speed.
(critical_factorization): Partially revert changes from
2010-06-22; they violate the requirement that the left half of the
needle be smaller than the period of the needle.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agofilenamecat: remove unnecessary dependency on dirname-lgpl
Paul Eggert [Fri, 25 Feb 2011 02:52:21 +0000 (18:52 -0800)]
filenamecat: remove unnecessary dependency on dirname-lgpl

* modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
is no direct dependency, just an indirect one via filenamecat-lgpl.

13 years agoremove: remove unnecessary use of m4/dos.m4
Paul Eggert [Fri, 25 Feb 2011 01:50:35 +0000 (17:50 -0800)]
remove: remove unnecessary use of m4/dos.m4

* m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
* modules/remove (FILES): Remove m4/dos.m4.

13 years ago* lib/openat-proc.c: Don't include dirname.h; not needed.
Paul Eggert [Fri, 25 Feb 2011 00:14:32 +0000 (16:14 -0800)]
* lib/openat-proc.c: Don't include dirname.h; not needed.

13 years agoChangeLog: credit Mike Stump; add a URL for the thread
Jim Meyering [Thu, 24 Feb 2011 19:18:01 +0000 (20:18 +0100)]
ChangeLog: credit Mike Stump; add a URL for the thread

13 years agobackupfile: remove unnecessary use of m4/dos.m4
Paul Eggert [Thu, 24 Feb 2011 15:58:24 +0000 (07:58 -0800)]
backupfile: remove unnecessary use of m4/dos.m4

* m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
of its symbols are used by the backupfile code.  backupfile.c does
use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
for the rare case of programs that want all their backup file
names to live within 8+3 limits, and dos.m4 doesn't address that.
* modules/backupfile (Files): Remove m4/dos.m4.

13 years agostrstr: fix a bug whereby strstr would mistakenly return NULL
Jim Meyering [Thu, 24 Feb 2011 09:57:22 +0000 (10:57 +0100)]
strstr: fix a bug whereby strstr would mistakenly return NULL

* lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
in period calculation.
(two_way_long_needle): Likewise.
Reported by Ralf Wildenhues, with the short needle and haystack.
* tests/test-strstr.c: Add Ralf's test case to trigger the bug.
Add a more involved test to trigger the bug in two_way_long_needle.

13 years agognulib-tool: remove use of bold display in help screen
Stefano Lattarini [Thu, 24 Feb 2011 11:54:52 +0000 (12:54 +0100)]
gnulib-tool: remove use of bold display in help screen

* gnulib-tool (func_usage): Do not use bold display anymore in the
help screen.  That was just meant to be a temporary emphasis for a
backward-incompatible change.

13 years agoFix misindentation of preprocessor directives.
Bruno Haible [Wed, 23 Feb 2011 09:58:06 +0000 (10:58 +0100)]
Fix misindentation of preprocessor directives.

* lib/argp-namefrob.h: Reindent preprocessor directives.
* lib/getopt_int.h (struct _getopt_data): Likewise.
* lib/progreloc.c (maybe_executable, find_executable): Likewise.
* lib/vasnprintf.c (decode_long_double): Likewise.
* tests/test-argmatch.c: Insert blank lines, for clarity.
* tests/test-exclude.c: Likewise.

13 years agoioctl: Fix for MacOS X in 64-bit mode.
Bruno Haible [Tue, 22 Feb 2011 23:01:03 +0000 (00:01 +0100)]
ioctl: Fix for MacOS X in 64-bit mode.

* lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
value.
Suggested by Eric Blake.
Reported by Markus Gothe <nietzsche@lysator.liu.se>.

13 years agomaint: sc_cpp_indent_check: remove the "only in lib/" restriction
Jim Meyering [Tue, 22 Feb 2011 15:51:29 +0000 (16:51 +0100)]
maint: sc_cpp_indent_check: remove the "only in lib/" restriction

* Makefile (sc_cpp_indent_check): Don't limit the check to files
in lib/.

13 years agomaint: avoid any CDPATH issue
Eric Blake [Tue, 22 Feb 2011 15:28:31 +0000 (08:28 -0700)]
maint: avoid any CDPATH issue

* Makefile (sc_cpp_indent_check): Anchor cd argument.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint: adjust cpp indentation for my modules, as well
Eric Blake [Tue, 22 Feb 2011 15:21:47 +0000 (08:21 -0700)]
maint: adjust cpp indentation for my modules, as well

* Makefile (sc_cpp_indent_check): Add my name.
* lib/fbufmode.c: Filter through cppi.
* lib/fpurge.c: Likewise.
* lib/freadable.c: Likewise.
* lib/freading.c: Likewise.
* lib/fwritable.c: Likewise.
* lib/fwriting.c: Likewise.
* lib/sigaction.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years agomaint: adjust cpp indentation to reflect nesting depth
Jim Meyering [Sun, 20 Feb 2011 22:02:43 +0000 (23:02 +0100)]
maint: adjust cpp indentation to reflect nesting depth

I.e., in a block of code that begins with an unnested "#if",
put one space between the "#" in column 1 and following token.
For example,
-#include <sys/vfs.h>
+# include <sys/vfs.h>
Do this only in .c files that are part of a module I maintain.
* lib/linkat.c: Filter through cppi.
* lib/nanosleep.c: Likewise.
* lib/openat.c: Likewise.
* lib/openat-die.c: Likewise.
* lib/dup3.c: Likewise.
* lib/fchownat.c: Likewise.
* lib/flock.c: Likewise.
* lib/fsync.c: Likewise.
* lib/fts.c: Likewise.
* lib/getpass.c: Likewise.
* lib/gettimeofday.c: Likewise.
* lib/userspec.c: Likewise.
* Makefile (sc_cpp_indent_check): New rule, to check this.

13 years agoNew module 'wctomb'.
Bruno Haible [Tue, 22 Feb 2011 13:23:24 +0000 (14:23 +0100)]
New module 'wctomb'.

* lib/stdlib.in.h (wctomb): New declaration.
* lib/wctomb.c: New file.
* lib/wctomb-impl.h: New file.
* m4/wctomb.m4: New file.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
REPLACE_WCTOMB.
* modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
REPLACE_WCTOMB.
* modules/wctomb: New file.
* tests/test-stdlib-c++.cc: Test signature of wctomb.
* doc/posix-functions/wctomb.texi: Mention the new module.
* modules/wctob (Depends-on): Add wctomb.

13 years agoNew module 'mbtowc'.
Bruno Haible [Tue, 22 Feb 2011 13:01:29 +0000 (14:01 +0100)]
New module 'mbtowc'.

* lib/stdlib.in.h (mbtowc): New declaration.
* lib/mbtowc.c: New file.
* lib/mbtowc-impl.h: New file, from libutf8 with modifications
* m4/mbtowc.m4: New file.
* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
REPLACE_MBTOWC.
* modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
REPLACE_MBTOWC.
* modules/mbtowc: New file.
* tests/test-stdlib-c++.cc: Test signature of mbtowc.
* doc/posix-functions/mbtowc.texi: Mention the new module.
* modules/btowc (Depends-on): Add mbtowc.

13 years agowcrtomb: Add more tests for native Windows platforms.
Bruno Haible [Sun, 20 Feb 2011 17:18:31 +0000 (18:18 +0100)]
wcrtomb: Add more tests for native Windows platforms.

* tests/test-wcrtomb-w32-1.sh: New file.
* tests/test-wcrtomb-w32-2.sh: New file.
* tests/test-wcrtomb-w32-3.sh: New file.
* tests/test-wcrtomb-w32-4.sh: New file.
* tests/test-wcrtomb-w32-5.sh: New file.
* tests/test-wcrtomb-w32.c: New file.
* modules/wcrtomb-tests (Files): Add them.
(Makefile.am): Arrange to run these tests.
* tests/test-wcrtomb-w32-6.sh: New file, currently unused.
* tests/test-wcrtomb-w32-7.sh: New file, currently unused.

13 years agowcrtomb: Enhance test.
Bruno Haible [Sun, 20 Feb 2011 13:08:44 +0000 (14:08 +0100)]
wcrtomb: Enhance test.

* tests/test-wcrtomb.c (main): Add test against bug with NULL argument.

13 years agombrtowc: Tiny optimization.
Bruno Haible [Mon, 21 Feb 2011 04:07:14 +0000 (05:07 +0100)]
mbrtowc: Tiny optimization.

* lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.

13 years agotest-exclude.c: remove unmatched #endif
Jim Meyering [Sun, 20 Feb 2011 19:02:10 +0000 (20:02 +0100)]
test-exclude.c: remove unmatched #endif

* tests/test-exclude.c: Remove stray #endif, left over from
the change of a week ago.

13 years agogit-version-gen: skip "-dirty" check when appropriate
Jim Meyering [Sat, 19 Feb 2011 19:48:36 +0000 (20:48 +0100)]
git-version-gen: skip "-dirty" check when appropriate

* build-aux/git-version-gen: Don't run any git commands when the
version string comes from .tarball-version.  Prior to this, we
would run git update-index --refresh even from a just-unpacked
tarball directory, and that could affect a .git/ directory in a
parent of the build directory.  Reported by Mike Frysinger.

13 years agounictype/property-byname: Reduce the size of the 'data' segment.
Bruno Haible [Sat, 19 Feb 2011 16:12:43 +0000 (17:12 +0100)]
unictype/property-byname: Reduce the size of the 'data' segment.

* lib/unictype/pr_byname.gperf: Add gperf option '%pic'.

13 years agounictype/scripts: Reduce the size of the 'data' segment.
Bruno Haible [Sat, 19 Feb 2011 16:03:25 +0000 (17:03 +0100)]
unictype/scripts: Reduce the size of the 'data' segment.

* lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
'%pic'.
* lib/unictype/scripts_byname.gperf: Regenerated.

13 years agostdint: Update documentation.
Bruno Haible [Sat, 19 Feb 2011 11:52:42 +0000 (12:52 +0100)]
stdint: Update documentation.

* doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.

13 years agostdint: omit redundant check for wchar.h
Paul Eggert [Sat, 19 Feb 2011 07:18:47 +0000 (23:18 -0800)]
stdint: omit redundant check for wchar.h

* m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
always tests whether wchar.h exists, so remove the now-redundant test.

13 years agostdint: Cut dependency to module 'wchar'.
Bruno Haible [Sat, 19 Feb 2011 07:08:54 +0000 (23:08 -0800)]
stdint: Cut dependency to module 'wchar'.

* lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
include the necessary prerequisites.
* m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
* modules/stdint (Depends-on): Remove wchar.
(Makefile.am): Substitute HAVE_WCHAR_H.
This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.

13 years agolonglong: skip, rather than fail, on cross-compilation
Eric Blake [Fri, 18 Feb 2011 17:25:36 +0000 (10:25 -0700)]
longlong: skip, rather than fail, on cross-compilation

* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
when cross-compiling; regression from 2011-02-16.

Signed-off-by: Eric Blake <eblake@redhat.com>
13 years ago* NEWS: Mention 2011-02-08 change to stdlib.
Paul Eggert [Fri, 18 Feb 2011 06:16:39 +0000 (22:16 -0800)]
* NEWS: Mention 2011-02-08 change to stdlib.

13 years agogetloadavg: Add comments about platforms.
Bruno Haible [Fri, 18 Feb 2011 03:16:39 +0000 (04:16 +0100)]
getloadavg: Add comments about platforms.

* m4/getloadavg.m4: Add comment.
* lib/getloadavg.c: Likewise.

13 years agogetloadavg: Fix link error on Solaris 2.6.
Bruno Haible [Fri, 18 Feb 2011 03:15:19 +0000 (04:15 +0100)]
getloadavg: Fix link error on Solaris 2.6.

* modules/getloadavg (Link): New section.
* modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
linking test-getloadavg.
* doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
getloadavg.

13 years ago* lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
Paul Eggert [Fri, 18 Feb 2011 03:11:43 +0000 (19:11 -0800)]
* lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.

It was 'int', but this doesn't match the IRIX 6.5 manual.
Suggested by Bruno Haible in
<http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.

13 years agoOops, fix syntax error in last config.rpath commit.
Bruno Haible [Fri, 18 Feb 2011 02:33:16 +0000 (03:33 +0100)]
Oops, fix syntax error in last config.rpath commit.

13 years agohavelib: Fix comments.
Bruno Haible [Fri, 18 Feb 2011 00:48:04 +0000 (01:48 +0100)]
havelib: Fix comments.

* m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
change.

13 years agohavelib: Update config.rpath.
Bruno Haible [Fri, 18 Feb 2011 00:33:51 +0000 (01:33 +0100)]
havelib: Update config.rpath.

* build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.

13 years agogetloadavg test: Add some plausibility checks.
Bruno Haible [Thu, 17 Feb 2011 22:42:20 +0000 (23:42 +0100)]
getloadavg test: Add some plausibility checks.

* tests/test-getloadavg.c (check_avg): Print a warning when the value
is improbable.

13 years agofinalise NEWS.stable stable/20110216
Ian Beckwith [Wed, 16 Feb 2011 23:54:12 +0000 (23:54 +0000)]
finalise NEWS.stable

13 years agoNEWS.stable: log cherry-pick [665d45c]->[321331f] autoupdate
Ian Beckwith [Wed, 16 Feb 2011 23:52:25 +0000 (23:52 +0000)]
NEWS.stable: log cherry-pick [665d45c]->[321331f] autoupdate

13 years agoautoupdate
Karl Berry [Tue, 15 Feb 2011 14:34:18 +0000 (06:34 -0800)]
autoupdate
(cherry picked from commit 665d45ce3389bc459031a378dca82c0ab055dd32)

13 years agoNEWS.stable: log cherry-pick [bf2664d]->[25ab657] doc: update users.txt
Ian Beckwith [Wed, 16 Feb 2011 23:51:58 +0000 (23:51 +0000)]
NEWS.stable: log cherry-pick [bf2664d]->[25ab657] doc: update users.txt

13 years agodoc: update users.txt
Jim Meyering [Tue, 15 Feb 2011 09:41:00 +0000 (10:41 +0100)]
doc: update users.txt

* users.txt: Update iwhd's URL.
(cherry picked from commit bf2664dc000e0bd9c460b8fa6297dcfe7d8fa9ef)

13 years agoNEWS.stable: log cherry-pick [59b191e]->[5f5a2a4] Consistent macro naming for macros...
Ian Beckwith [Wed, 16 Feb 2011 23:51:38 +0000 (23:51 +0000)]
NEWS.stable: log cherry-pick [59b191e]->[5f5a2a4] Consistent macro naming for macros that use GCC __attribute__.

13 years agoConsistent macro naming for macros that use GCC __attribute__.
Bruno Haible [Sun, 13 Feb 2011 22:44:28 +0000 (23:44 +0100)]
Consistent macro naming for macros that use GCC __attribute__.

* lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
_ATTRIBUTE_NONNULL_.
* lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
* lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
* lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
ATTRIBUTE_DEPRECATED.
* lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
ATTRIBUTE_NORETURN.
* lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
* lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
* lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
* lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
(_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
(_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
* lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
ATTRIBUTE_SENTINEL.
* lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
ATTRIBUTE_RETURN_CHECK.
* tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
* tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
ATTRIBUTE_NORETURN.
* tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
Reported by Paul Eggert.
(cherry picked from commit 59b191ed5bcff4198c9c89d0d52cec1880b9568d)

13 years agoupdate NEWS.stable
Ian Beckwith [Wed, 16 Feb 2011 23:49:01 +0000 (23:49 +0000)]
update NEWS.stable

13 years agoDon't interfere with a program's definition of __attribute__.
Ian Beckwith [Wed, 16 Feb 2011 23:48:26 +0000 (23:48 +0000)]
Don't interfere with a program's definition of __attribute__.

* lib/argp.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(argp_error, __argp_error, argp_failure, __argp_failure): Use it.
* lib/argp-fmtstream.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
* lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
GCC 3 or newer.
* lib/error.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(error, error_at_line): Use it.
* lib/hash.h (__attribute__): Remove definition.
(ATTRIBUTE_WUR): Update definition. Define always.
* lib/openat.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/sigpipe-die.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/vasnprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(asnprintf, vasnprintf): Use it.
* lib/xalloc.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
(ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
* lib/xmemdup0.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/xprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(xprintf, xvprintf, xfprintf, xvfprintf): Use it.
* lib/xstrtol.h (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* lib/xvasprintf.h (__attribute__): Remove definition.
(_GL_ATTRIBUTE_FORMAT): New macro.
(xasprintf, xvasprintf): Use it.
* tests/test-argmatch.c (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
* tests/test-exclude.c (__attribute__): Remove definition.
(ATTRIBUTE_NORETURN): Update definition. Define always.
Reported by Paul Eggert.
(cherry picked from commit f6a5a124d0cb326acd4dfa9ce3276baa26734b16)

13 years agoNEWS.stable: log cherry-pick [a035a8d]->[2bbd452] mbrtowc: Work around native Windows...
Ian Beckwith [Wed, 16 Feb 2011 23:35:35 +0000 (23:35 +0000)]
NEWS.stable: log cherry-pick [a035a8d]->[2bbd452] mbrtowc: Work around native Windows bug.

13 years agombrtowc: Work around native Windows bug.
Bruno Haible [Sun, 13 Feb 2011 18:29:42 +0000 (19:29 +0100)]
mbrtowc: Work around native Windows bug.

* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
guess when no suitable locale for testing was found.
* doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
(cherry picked from commit a035a8d38a608a06b9540b0cae6a2c7ea99f9638)

13 years agoNEWS.stable: log cherry-pick [cca34e7]->[1b94e03] mbsinit: Work around mingw bug.
Ian Beckwith [Wed, 16 Feb 2011 23:35:12 +0000 (23:35 +0000)]
NEWS.stable: log cherry-pick [cca34e7]->[1b94e03] mbsinit: Work around mingw bug.