-# wcsrtombs.m4 serial 1
-dnl Copyright (C) 2008 Free Software Foundation, Inc.
+# wcsrtombs.m4 serial 5
+dnl Copyright (C) 2008-2010 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.
AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
AC_REQUIRE([AC_TYPE_MBSTATE_T])
+ gl_MBSTATE_T_BROKEN
+
AC_CHECK_FUNCS_ONCE([wcsrtombs])
if test $ac_cv_func_wcsrtombs = no; then
HAVE_WCSRTOMBS=0
else
- gl_WCSRTOMBS_TERMINATION
- gl_WCSRTOMBS_NULL
- case "$gl_cv_func_wcsrtombs_termination" in
- *yes) ;;
- *) AC_DEFINE([WCSRTOMBS_TERMINATION_BUG], [1],
- [Define if the wcsrtombs function may set the source pointer to NULL without NUL-terminating the destination.])
- REPLACE_WCSRTOMBS=1 ;;
- esac
- case "$gl_cv_func_wcsrtombs_null" in
- *yes) ;;
- *) AC_DEFINE([WCSRTOMBS_NULL_ARG_BUG], [1],
- [Define if the wcsrtombs function has the NULL destination argument bug.])
- REPLACE_WCSRTOMBS=1 ;;
- esac
+ if test $REPLACE_MBSTATE_T = 1; then
+ REPLACE_WCSRTOMBS=1
+ else
+ gl_WCSRTOMBS_TERMINATION
+ gl_WCSRTOMBS_NULL
+ case "$gl_cv_func_wcsrtombs_termination" in
+ *yes) ;;
+ *) AC_DEFINE([WCSRTOMBS_TERMINATION_BUG], [1],
+ [Define if the wcsrtombs function may set the source pointer to NULL without NUL-terminating the destination.])
+ REPLACE_WCSRTOMBS=1 ;;
+ esac
+ case "$gl_cv_func_wcsrtombs_null" in
+ *yes) ;;
+ *) AC_DEFINE([WCSRTOMBS_NULL_ARG_BUG], [1],
+ [Define if the wcsrtombs function has the NULL destination argument bug.])
+ REPLACE_WCSRTOMBS=1 ;;
+ esac
+ fi
fi
if test $HAVE_WCSRTOMBS = 0 || test $REPLACE_WCSRTOMBS = 1; then
gl_REPLACE_WCHAR_H
AC_LIBOBJ([wcsrtombs])
+ AC_LIBOBJ([wcsrtombs-state])
gl_PREREQ_WCSRTOMBS
fi
])
}],
[gl_cv_func_wcsrtombs_termination=yes],
[gl_cv_func_wcsrtombs_termination=no],
- [])
+ [:])
fi
])
])
}],
[gl_cv_func_wcsrtombs_null=yes],
[gl_cv_func_wcsrtombs_null=no],
- [])
+ [:])
fi
])
])