-# mbrtowc.m4 serial 16
+# mbrtowc.m4 serial 18
dnl Copyright (C) 2001-2002, 2004-2005, 2008-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
AC_REQUIRE([AC_TYPE_MBSTATE_T])
gl_MBSTATE_T_BROKEN
- if test $REPLACE_MBSTATE_T = 1; then
- REPLACE_MBRTOWC=1
- fi
+
AC_CHECK_FUNCS_ONCE([mbrtowc])
if test $ac_cv_func_mbrtowc = no; then
HAVE_MBRTOWC=0
- fi
- if test $HAVE_MBRTOWC != 0 && test $REPLACE_MBRTOWC != 1; then
- gl_MBRTOWC_NULL_ARG
- gl_MBRTOWC_RETVAL
- gl_MBRTOWC_NUL_RETVAL
- case "$gl_cv_func_mbrtowc_null_arg" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1],
- [Define if the mbrtowc function has the NULL string argument bug.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_retval" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1],
- [Define if the mbrtowc function returns a wrong return value.])
- REPLACE_MBRTOWC=1
- ;;
- esac
- case "$gl_cv_func_mbrtowc_nul_retval" in
- *yes) ;;
- *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1],
- [Define if the mbrtowc function does not return 0 for a NUL character.])
- REPLACE_MBRTOWC=1
- ;;
- esac
+ else
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_MBRTOWC=1
+ else
+ gl_MBRTOWC_NULL_ARG
+ gl_MBRTOWC_RETVAL
+ gl_MBRTOWC_NUL_RETVAL
+ case "$gl_cv_func_mbrtowc_null_arg" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1],
+ [Define if the mbrtowc function has the NULL string argument bug.])
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtowc_retval" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOWC_RETVAL_BUG], [1],
+ [Define if the mbrtowc function returns a wrong return value.])
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ case "$gl_cv_func_mbrtowc_nul_retval" in
+ *yes) ;;
+ *) AC_DEFINE([MBRTOWC_NUL_RETVAL_BUG], [1],
+ [Define if the mbrtowc function does not return 0 for a NUL character.])
+ REPLACE_MBRTOWC=1
+ ;;
+ esac
+ fi
fi
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
gl_REPLACE_WCHAR_H
dnl is present.
changequote(,)dnl
case "$host_os" in
- # Guess no on AIX and OSF/1.
- osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
- # Guess yes otherwise.
- *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
+ # Guess no on AIX and OSF/1.
+ aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;;
+ # Guess yes otherwise.
+ *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;;
esac
changequote([,])dnl
if test $LOCALE_JA != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_incomplete_state=yes],
[gl_cv_func_mbrtowc_incomplete_state=no],
[:])
esac
changequote([,])dnl
if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <stdlib.h>
#include <string.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_sanitycheck=yes],
[gl_cv_func_mbrtowc_sanitycheck=no],
[:])
esac
changequote([,])dnl
if test $LOCALE_FR_UTF8 != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
return 1;
}
return 0;
-}], [gl_cv_func_mbrtowc_null_arg=yes], [gl_cv_func_mbrtowc_null_arg=no], [:])
+}]])],
+ [gl_cv_func_mbrtowc_null_arg=yes],
+ [gl_cv_func_mbrtowc_null_arg=no],
+ [:])
fi
])
])
esac
changequote([,])dnl
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
}
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_retval=yes],
[gl_cv_func_mbrtowc_retval=no],
[:])
esac
changequote([,])dnl
if test $LOCALE_ZH_CN != none; then
- AC_TRY_RUN([
+ AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([[
#include <locale.h>
#include <string.h>
#include <wchar.h>
return 1;
}
return 0;
-}],
+}]])],
[gl_cv_func_mbrtowc_nul_retval=yes],
[gl_cv_func_mbrtowc_nul_retval=no],
[:])