Subject: Re: bug#13495: Compilation fails on Mac OS X 10.8.0

From: Paul Eggert <[email-masked]>
Date: Fri, 25 Jan 2013 14:18:20 -0800

On 01/25/2013 11:25 AM, Assaf Gordon wrote:

> So I'm guessing that even though gnulib's stpncpy code is used,
> because the MacOS's native declaration of stpncpy is included, it
> causes problems when the macro is expanded to use "__stpncpy_chk".

Does the following patch fix things for you?  It attempts to change
the substitute string.h to inhibit that macro expansion.

diff --git a/lib/string.in.h b/lib/string.in.h
index 6223cce..b8d6a33 100644
--- a/lib/string.in.h
+++ b/lib/string.in.h
@@ -262,11 +262,13 @@ _GL_WARN_ON_USE (stpcpy, "stpcpy is unportable - "
 /* Copy no more than N bytes of SRC to DST, returning a pointer past the
    last non-NUL byte written into DST.  */
 #if @GNULIB_STPNCPY@
-# if @REPLACE_STPNCPY@
+# if @REPLACE_STPNCPY@ || (!@HAVE_STPNCPY@ && defined stpncpy)
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 #   undef stpncpy
 #   define stpncpy rpl_stpncpy
 #  endif
+# endif
+# if @REPLACE_STPNCPY@
 _GL_FUNCDECL_RPL (stpncpy, char *,
                   (char *restrict __dst, char const *restrict __src,
                    size_t __n)