diff options
author | Bruno Haible <bruno@clisp.org> | 2011-02-13 18:17:22 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2011-02-13 18:23:20 +0100 |
commit | cca34e7a16b014a2429a0c0d98cfa4c935688f00 (patch) | |
tree | edaa6cb352584b27b65d05d25f6015328f64c314 /m4 | |
parent | a38e4bbf37c4a77ea65f548dfcf590cf23e73d7e (diff) | |
download | gnulib-cca34e7a16b014a2429a0c0d98cfa4c935688f00.tar.gz |
mbsinit: Work around mingw bug.
* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
* lib/mbsinit.c (mbsinit): Provide an alternate definition for native
Windows.
* doc/posix-functions/mbsinit.texi: Mention the mingw bug.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/mbsinit.m4 | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/m4/mbsinit.m4 b/m4/mbsinit.m4 index 03b31447cf..47e2d14a73 100644 --- a/m4/mbsinit.m4 +++ b/m4/mbsinit.m4 @@ -1,4 +1,4 @@ -# mbsinit.m4 serial 4 +# mbsinit.m4 serial 5 dnl Copyright (C) 2008, 2010-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_MBSINIT], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) gl_MBSTATE_T_BROKEN @@ -17,6 +18,13 @@ AC_DEFUN([gl_FUNC_MBSINIT], else if test $REPLACE_MBSTATE_T = 1; then REPLACE_MBSINIT=1 + else + dnl On mingw, mbsinit() always returns 1, which is inappropriate for + dnl states produced by mbrtowc() for an incomplete multibyte character + dnl in multibyte locales. + case "$host_os" in + mingw*) REPLACE_MBSINIT=1 ;; + esac fi fi if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then |