* lib/getdtablesize.c: Include msvc-inval.h.
(_setmaxstdio_nothrow): New function.
(_setmaxstdio): Redefine it.
* m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
* modules/getdtablesize (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
+2011-09-23 Bruno Haible <bruno@clisp.org>
+
+ getdtablesize: Support for MSVC 9.
+ * lib/getdtablesize.c: Include msvc-inval.h.
+ (_setmaxstdio_nothrow): New function.
+ (_setmaxstdio): Redefine it.
+ * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
+ * modules/getdtablesize (Depends-on): Add msvc-inval.
+ (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
+
2011-09-23 Bruno Haible <bruno@clisp.org>
signal-h: Rename from signal.
#include <stdio.h>
+#include "msvc-inval.h"
+
+#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
+static inline int
+_setmaxstdio_nothrow (int newmax)
+{
+ int result;
+
+ TRY_MSVC_INVAL
+ {
+ result = _setmaxstdio (newmax);
+ }
+ CATCH_MSVC_INVAL
+ {
+ result = -1;
+ }
+ DONE_MSVC_INVAL;
+
+ return result;
+}
+# define _setmaxstdio _setmaxstdio_nothrow
+#endif
+
/* Cache for the previous getdtablesize () result. */
static int dtablesize;
-# getdtablesize.m4 serial 2
+# getdtablesize.m4 serial 3
dnl Copyright (C) 2008-2011 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
HAVE_GETDTABLESIZE=0
fi
])
+
+# Prerequisites of lib/getdtablesize.c.
+AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [
+ AC_REQUIRE([AC_C_INLINE])
+])
Depends-on:
unistd
+msvc-inval [test $HAVE_GETDTABLESIZE = 0]
configure.ac:
gl_FUNC_GETDTABLESIZE
if test $HAVE_GETDTABLESIZE = 0; then
AC_LIBOBJ([getdtablesize])
+ gl_PREREQ_GETDTABLESIZE
fi
gl_UNISTD_MODULE_INDICATOR([getdtablesize])