[Top][All Lists]
[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