changeset 5964:111f78a51516

Avoid false positive on mingw.
author Bruno Haible <bruno@clisp.org>
date Wed, 06 Jul 2005 10:33:04 +0000
parents 6fb8c48c4dcd
children cd3c62f1332e
files m4/ChangeLog m4/mbrtowc.m4
diffstat 2 files changed, 18 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-05  Bruno Haible  <bruno@clisp.org>
+
+	* mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
+	autoconf CVS. Needed for mingw.
+
 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Remove the dependency of the strftime module on the tzset module.
--- a/m4/mbrtowc.m4
+++ b/m4/mbrtowc.m4
@@ -1,5 +1,5 @@
-# mbrtowc.m4 serial 7
-dnl Copyright (C) 2001-2002, 2004 Free Software Foundation, Inc.
+# mbrtowc.m4 serial 8
+dnl Copyright (C) 2001-2002, 2004-2005 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.
@@ -7,19 +7,25 @@
 dnl From Paul Eggert
 
 dnl This file can be removed, and gl_FUNC_MBRTOWC replaced with
-dnl AC_FUNC_MBRTOWC, when autoconf 2.57 can be assumed everywhere.
+dnl AC_FUNC_MBRTOWC, when autoconf 2.60 can be assumed everywhere.
 
 AC_DEFUN([gl_FUNC_MBRTOWC],
 [
+  dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60.
   AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
     gl_cv_func_mbrtowc,
-    [AC_TRY_LINK(
-       [#include <wchar.h>],
-       [mbstate_t state; return ! (sizeof state && mbrtowc);],
+    [AC_LINK_IFELSE(
+       [AC_LANG_PROGRAM(
+            [[#include <wchar.h>]],
+            [[wchar_t wc;
+              char const s[] = "";
+              size_t n = 1;
+              mbstate_t state;
+              return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])],
        gl_cv_func_mbrtowc=yes,
        gl_cv_func_mbrtowc=no)])
   if test $gl_cv_func_mbrtowc = yes; then
-    AC_DEFINE(HAVE_MBRTOWC, 1,
+    AC_DEFINE([HAVE_MBRTOWC], 1,
       [Define to 1 if mbrtowc and mbstate_t are properly declared.])
   fi
 ])