bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13495: Compilation fails on Mac OS X 10.8.0


From: Paul Eggert
Subject: bug#13495: Compilation fails on Mac OS X 10.8.0
Date: Sat, 19 Jan 2013 21:15:19 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130106 Thunderbird/17.0.2

On 01/19/2013 08:07 PM, Assaf Gordon wrote:
> Which looks like some macro expansion, but I couldn't find the declaration of 
> this macro.

It's because stpncpy.c earlier has this:

# define __stpncpy stpncpy

which means that this:

char *
__stpncpy (char *dest, const char *src, size_t n)
{

expands to this:

char *
stpncpy (char *dest, const char *src, size_t n)
{

which in turn is expanded by the stpncpy macro in the system string.h,
to this:

char *
((__builtin_object_size (char *dest, 0) != (size_t) -1) ? 
__builtin___stpncpy_chk (char *dest, const char *src, size_t n, 
__builtin_object_size (char *dest, 2 > 1)) : __inline_stpncpy_chk (char *dest, 
const char *src, size_t n))
{

which is obviously bogus.

Does something like the following patch fix things for you?

diff --git a/lib/stpncpy.c b/lib/stpncpy.c                                      
index 466cd5f..8b14fb9 100644                                                   
--- a/lib/stpncpy.c                                                             
+++ b/lib/stpncpy.c                                                             
@@ -31,7 +31,7 @@
 /* Copy no more than N bytes of SRC to DST, returning a pointer past the       
    last non-NUL byte written into DST.  */                                     
 char *                                                                         
-__stpncpy (char *dest, const char *src, size_t n)                              
+(__stpncpy) (char *dest, const char *src, size_t n)                            
 {                                                                              
   char c;                                                                      
   char *s = dest;                                                              






reply via email to

[Prev in Thread] Current Thread [Next in Thread]