bug-gnulib
[Top][All Lists]
Advanced

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

Re: test-xprintf-posix.sh failure on NetBSD 1.6


From: Bruno Haible
Subject: Re: test-xprintf-posix.sh failure on NetBSD 1.6
Date: Wed, 28 Nov 2007 15:22:51 +0100
User-agent: KMail/1.9.1

Hi Jim,

> The trouble was this definition from libintl.h:
>
> #define vprintf libintl_vprintf
>
> That ends up overriding (in xprintf.c) the one from stdio.h:
>
> #if 1
> # if 1
> #  define vprintf rpl_vprintf
>
> And since the gettext installation there is out of date,
> coreutils is linked with the older, less robust, libintl_vprintf
> and fails the test.

Oh right. I'm applying the appended patch to GNU gettext.

The bug will thus be fixed after I release gettext 0.17.1 and after this
newer gettext release is installed on the target machine.


2007-11-28  Bruno Haible  <address@hidden>

        * libgnuintl.h.in (fprintf, vfprintf, printf, vprintf, sprintf,
        vsprintf, snprintf, vsnprintf, asprintf, vasprintf): Don't override
        definitions made by gnulib.
        Reported by Jim Meyering <address@hidden>.

--- libgnuintl.h.in     2 Nov 2007 00:28:53 -0000       1.23
+++ libgnuintl.h.in     28 Nov 2007 14:18:17 -0000
@@ -322,13 +322,18 @@
 # include <varargs.h>
 #endif
 
+#if !(defined fprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef fprintf
 #define fprintf libintl_fprintf
 extern int fprintf (FILE *, const char *, ...);
+#endif
+#if !(defined vfprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef vfprintf
 #define vfprintf libintl_vfprintf
 extern int vfprintf (FILE *, const char *, va_list);
+#endif
 
+#if !(defined printf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef printf
 #if defined __NetBSD__ || defined __BEOS__ || defined __CYGWIN__ || defined 
__MINGW32__
 /* Don't break __attribute__((format(printf,M,N))).
@@ -338,36 +343,51 @@
 #endif
 #define printf libintl_printf
 extern int printf (const char *, ...);
+#endif
+#if !(defined vprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef vprintf
 #define vprintf libintl_vprintf
 extern int vprintf (const char *, va_list);
+#endif
 
+#if !(defined sprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef sprintf
 #define sprintf libintl_sprintf
 extern int sprintf (char *, const char *, ...);
+#endif
+#if !(defined vsprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef vsprintf
 #define vsprintf libintl_vsprintf
 extern int vsprintf (char *, const char *, va_list);
+#endif
 
 #if @HAVE_SNPRINTF@
 
+#if !(defined snprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef snprintf
 #define snprintf libintl_snprintf
 extern int snprintf (char *, size_t, const char *, ...);
+#endif
+#if !(defined vsnprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef vsnprintf
 #define vsnprintf libintl_vsnprintf
 extern int vsnprintf (char *, size_t, const char *, va_list);
+#endif
 
 #endif
 
 #if @HAVE_ASPRINTF@
 
+#if !(defined asprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef asprintf
 #define asprintf libintl_asprintf
 extern int asprintf (char **, const char *, ...);
+#endif
+#if !(defined vasprintf && defined _GL_STDIO_H) /* don't override gnulib */
 #undef vasprintf
 #define vasprintf libintl_vasprintf
 extern int vasprintf (char **, const char *, va_list);
+#endif
 
 #endif
 




reply via email to

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