* m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
* lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
+2011-09-22 Bruno Haible <bruno@clisp.org>
+
+ strerror_r-posix: Avoid a link error on MSVC.
+ * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
+ * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
+
2011-09-22 Bruno Haible <bruno@clisp.org>
select: Avoid link errors on MSVC.
#endif
+/* On MSVC, there is no snprintf() function, just a _snprintf().
+ It is of lower quality, but sufficient for the simple use here. */
+#if !HAVE_SNPRINTF
+# define snprintf _snprintf
+#endif
+
/* Copy as much of MSG into BUF as possible, without corrupting errno.
Return 0 if MSG fit in BUFLEN, otherwise return ERANGE. */
static int
-# strerror_r.m4 serial 13
+# strerror_r.m4 serial 14
dnl Copyright (C) 2002, 2007-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,
dnl glibc >= 2.3.4 and cygwin 1.7.9 have a function __xpg_strerror_r.
AC_CHECK_FUNCS_ONCE([__xpg_strerror_r])
AC_CHECK_FUNCS_ONCE([catgets])
+ AC_CHECK_FUNCS_ONCE([snprintf])
])
# Detect if strerror_r works, but without affecting whether a replacement