Mercurial > hg > octave-lyh > gnulib-hg
changeset 13558:263949fe34ae
stpncpy: Allow stpncpy to be defined as a macro.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Mon, 16 Aug 2010 02:09:11 +0200 |
parents | 8db1bc2a38a3 |
children | 3c81a57b5a1d |
files | ChangeLog lib/string.in.h m4/stpncpy.m4 |
diffstat | 3 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +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'.
--- a/lib/string.in.h +++ b/lib/string.in.h @@ -233,6 +233,7 @@ #if @GNULIB_STPNCPY@ # if @REPLACE_STPNCPY@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef stpncpy # define stpncpy rpl_stpncpy # endif _GL_FUNCDECL_RPL (stpncpy, char *,
--- a/m4/stpncpy.m4 +++ b/m4/stpncpy.m4 @@ -1,4 +1,4 @@ -# 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 @@ -25,6 +25,7 @@ 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], [ @@ -32,7 +33,9 @@ #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];