Browse Source

(AC_MBSTATE_T): Renamed from AC_MBSTATE_T_OBJECT. All uses changed.
Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
and mbstate_t, to a single-part test that simply defines mbstate_t.

Paul Eggert 25 years ago
parent
commit
cf4b8601b4
1 changed files with 10 additions and 24 deletions
  1. 10 24
      m4/mbstate_t.m4

+ 10 - 24
m4/mbstate_t.m4

@@ -1,43 +1,29 @@
-# serial 6
+# serial 7
 
 # From Paul Eggert.
 
-# Some versions of BeOS define mbstate_t to be an incomplete type,
+# BeOS 5 has <wchar.h> but does not define mbstate_t,
 # so you can't declare an object of that type.
 # Check for this incompatibility with Standard C.
 
 # Include stdlib.h first, because otherwise this test would fail on Linux
-# (at least glibc-2.1.3) because the `_XOPEN_SOURCE 500' definition elicits
+# (at least glibc-2.1.3) because the "_XOPEN_SOURCE 500" definition elicits
 # a syntax error in wchar.h due to the use of undefined __int32_t.
 
-AC_DEFUN(AC_MBSTATE_T_OBJECT,
+AC_DEFUN(AC_MBSTATE_T,
   [
    AC_CHECK_HEADERS(stdlib.h)
 
-   AC_CACHE_CHECK([for mbstate_t object], ac_cv_type_mbstate_t_object,
+   AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
     [AC_TRY_COMPILE([
 #if HAVE_STDLIB_H
 # include <stdlib.h>
 #endif
 #include <wchar.h>],
       [mbstate_t x; return sizeof x;],
-      ac_cv_type_mbstate_t_object=yes,
-      ac_cv_type_mbstate_t_object=no)])
-   if test $ac_cv_type_mbstate_t_object = yes; then
-     AC_DEFINE(HAVE_MBSTATE_T_OBJECT, 1,
-	       [Define if mbstate_t is an object type.])
-   else
-     AC_CACHE_CHECK([for mbstate_t], ac_cv_type_mbstate_t,
-      [AC_TRY_COMPILE([
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-#include <wchar.h>],
-	[mbstate_t *x; return sizeof x;],
-	ac_cv_type_mbstate_t=yes,
-	ac_cv_type_mbstate_t=no)])
-     if test $ac_cv_type_mbstate_t != yes; then
-       AC_DEFINE(mbstate_t, int,
-		 [Define to int if <wchar.h> does not define.])
-     fi
+      ac_cv_type_mbstate_t=yes,
+      ac_cv_type_mbstate_t=no)])
+   if test $ac_cv_type_mbstate_t = no; then
+     AC_DEFINE(mbstate_t, char,
+	       [Define to a type if <wchar.h> does not define.])
    fi])