+2010-08-15 Bruno Haible <bruno@clisp.org>
+
+ stpncpy: Allow stpncpy to be defined as a macro.
+ * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
+ if it's already correctly declared.
+ * lib/string.in.h (stpncpy): Undefine before redefining.
+ Reported by Jeremy Huddleston <jeremyhu@macports.org>.
+
2010-08-14 Bruno Haible <bruno@clisp.org>
Rename module 'memxfrm' to 'amemxfrm'.
#if @GNULIB_STPNCPY@
# if @REPLACE_STPNCPY@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef stpncpy
# define stpncpy rpl_stpncpy
# endif
_GL_FUNCDECL_RPL (stpncpy, char *,
-# stpncpy.m4 serial 11
+# stpncpy.m4 serial 12
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation,
dnl Inc.
dnl This file is free software; the Free Software Foundation
dnl in AIX: dest + max(0,n-1)
dnl Only the glibc return value is useful in practice.
+ AC_CHECK_DECLS_ONCE([stpncpy])
AC_CHECK_FUNCS_ONCE([stpncpy])
if test $ac_cv_func_stpncpy = yes; then
AC_CACHE_CHECK([for working stpncpy], [gl_cv_func_stpncpy], [
#include <stdlib.h>
#include <string.h> /* for strcpy */
/* The stpncpy prototype is missing in <string.h> on AIX 4. */
+#if !HAVE_DECL_STPNCPY
extern char *stpncpy (char *dest, const char *src, size_t n);
+#endif
int main () {
const char *src = "Hello";
char dest[10];