string-buffer tests: Avoid test failure on native Windows.
[gnulib.git] / m4 / mbsinit.m4
blob10c86ba94eaf18ce6655ef115a96cda3d520b3fd
1 # mbsinit.m4
2 # serial 10
3 dnl Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
8 AC_DEFUN([gl_FUNC_MBSINIT],
10   AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
11   AC_REQUIRE([AC_CANONICAL_HOST])
13   AC_REQUIRE([AC_TYPE_MBSTATE_T])
14   gl_MBSTATE_T_BROKEN
16   AC_CHECK_FUNCS_ONCE([mbsinit])
17   if test $ac_cv_func_mbsinit = no; then
18     HAVE_MBSINIT=0
19     AC_CHECK_DECLS([mbsinit],,, [[
20       #include <wchar.h>
21     ]])
22     if test $ac_cv_have_decl_mbsinit = yes; then
23       dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
24       dnl it does not have the function. Avoid a collision with gnulib's
25       dnl replacement.
26       REPLACE_MBSINIT=1
27     fi
28   else
29     if test $REPLACE_MBSTATE_T = 1; then
30       REPLACE_MBSINIT=1
31     else
32       dnl On mingw, mbsinit() always returns 1, which is inappropriate for
33       dnl states produced by mbrtowc() for an incomplete multibyte character
34       dnl in multibyte locales.
35       case "$host_os" in
36         mingw* | windows*) REPLACE_MBSINIT=1 ;;
37       esac
38     fi
39   fi
42 # Prerequisites of lib/mbsinit.c.
43 AC_DEFUN([gl_PREREQ_MBSINIT], [
44   :