maint.mk: generate more concise timing data for syntax-check rules
[pspp] / m4 / wcsrtombs.m4
index 53d374dfaed9be7e840e26f67afeae1c6f6e21d0..fb769f2d62bd0600969b0bb7a415c0bea242573b 100644 (file)
@@ -1,5 +1,5 @@
-# wcsrtombs.m4 serial 3
-dnl Copyright (C) 2008-2009 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.
@@ -9,24 +9,30 @@ AC_DEFUN([gl_FUNC_WCSRTOMBS],
   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