X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fmbsinit.m4;h=47e2d14a73538d34bb60946fd0af8dae40a26c6e;hb=665d45ce3389bc459031a378dca82c0ab055dd32;hp=d7d54754129c9f78285d7d35272b401baee4e377;hpb=68b208d80c04c2bb08ba21ff7a7d5796d097a088;p=gnulib.git diff --git a/m4/mbsinit.m4 b/m4/mbsinit.m4 index d7d547541..47e2d14a7 100644 --- a/m4/mbsinit.m4 +++ b/m4/mbsinit.m4 @@ -1,5 +1,5 @@ -# mbsinit.m4 serial 2 -dnl Copyright (C) 2008 Free Software Foundation, Inc. +# 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, dnl with or without modifications, as long as this notice is preserved. @@ -7,11 +7,27 @@ 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 + AC_CHECK_FUNCS_ONCE([mbsinit]) if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 + 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 gl_REPLACE_WCHAR_H AC_LIBOBJ([mbsinit]) gl_PREREQ_MBSINIT