Change argument type to 'unsigned long'.
[gnulib.git] / m4 / mbswidth.m4
index f49e571..eaf552b 100644 (file)
@@ -1,20 +1,36 @@
-#serial 2
+#serial 7
 
 dnl autoconf tests required for use of mbswidth.c
 dnl From Bruno Haible.
 
-AC_DEFUN(jm_PREREQ_MBSWIDTH,
+AC_DEFUN([jm_PREREQ_MBSWIDTH],
 [
   AC_REQUIRE([AC_HEADER_STDC])
-  AC_REQUIRE([AM_C_PROTOTYPES])
   AC_CHECK_HEADERS(limits.h stdlib.h string.h wchar.h wctype.h)
-  AC_CHECK_FUNCS(isascii iswprint wcwidth)
+  AC_CHECK_FUNCS(isascii iswcntrl iswprint mbsinit wcwidth)
   jm_FUNC_MBRTOWC
-  headers='
-#     if HAVE_WCHAR_H
-#      include <wchar.h>
-#     endif
-'
-  AC_CHECK_DECLS([wcwidth], , , $headers)
-  AC_MBSTATE_T
+
+  AC_CACHE_CHECK([whether wcwidth is declared], ac_cv_have_decl_wcwidth,
+    [AC_TRY_COMPILE([
+/* AIX 3.2.5 declares wcwidth in <string.h>. */
+#if HAVE_STRING_H
+# include <string.h>
+#endif
+#if HAVE_WCHAR_H
+# include <wchar.h>
+#endif
+], [
+#ifndef wcwidth
+  char *p = (char *) wcwidth;
+#endif
+], ac_cv_have_decl_wcwidth=yes, ac_cv_have_decl_wcwidth=no)])
+  if test $ac_cv_have_decl_wcwidth = yes; then
+    ac_val=1
+  else
+    ac_val=0
+  fi
+  AC_DEFINE_UNQUOTED(HAVE_DECL_WCWIDTH, $ac_val,
+    [Define to 1 if you have the declaration of wcwidth(), and to 0 otherwise.])
+
+  AC_TYPE_MBSTATE_T
 ])