This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/538] Improvement to getaddrinfo gai_strerror.c to make it usable in gnulib
- From: "simon at josefsson dot org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 23 Sep 2005 13:44:00 -0000
- Subject: [Bug libc/538] Improvement to getaddrinfo gai_strerror.c to make it usable in gnulib
- References: <20041110184141.538.simon@josefsson.org>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From simon at josefsson dot org 2005-09-23 13:43 -------
(In reply to comment #2)
> It is always wrong to use __USE_GNU in non-header files. The file must simply
> be defined so that the definitions of the values are visible in the header.
How about this patch? It sync with current gnulib CVS, and hide the non-POSIX
EAI_* values inside a #if EAI_IDN_ENCODE test.
Index: gai_strerror.c
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/posix/gai_strerror.c,v
retrieving revision 1.7
diff -u -p -r1.7 gai_strerror.c
--- gai_strerror.c 8 Mar 2004 22:21:13 -0000 1.7
+++ gai_strerror.c 23 Sep 2005 13:41:31 -0000
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 2001, 2002, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2001, 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Philip Blundell <pjb27@cam.ac.uk>, 1997.
@@ -17,9 +17,24 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifndef _LIBC
+# include "getaddrinfo.h"
+#endif
+
#include <stdio.h>
#include <netdb.h>
-#include <libintl.h>
+
+#ifdef _LIBC
+# include <libintl.h>
+#else
+# include "gettext.h"
+# define _(String) gettext (String)
+# define N_(String) String
+#endif
static struct
{
@@ -39,12 +54,14 @@ values[] =
{ EAI_SERVICE, N_("Servname not supported for ai_socktype") },
{ EAI_SOCKTYPE, N_("ai_socktype not supported") },
{ EAI_SYSTEM, N_("System error") },
+#ifdef EAI_IDN_ENCODE
{ EAI_INPROGRESS, N_("Processing request in progress") },
{ EAI_CANCELED, N_("Request canceled") },
{ EAI_NOTCANCELED, N_("Request not canceled") },
{ EAI_ALLDONE, N_("All requests done") },
{ EAI_INTR, N_("Interrupted by a signal") },
{ EAI_IDN_ENCODE, N_("Parameter string not correctly encoded") }
+#endif
};
const char *
@@ -57,4 +74,6 @@ gai_strerror (int code)
return _("Unknown error");
}
+#ifdef _LIBC
libc_hidden_def (gai_strerror)
+#endif
--
http://sourceware.org/bugzilla/show_bug.cgi?id=538
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.