diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2001-08-15 17:14:33 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2001-08-15 17:14:33 (GMT) |
commit | f95dd0a2986392d4f51bb1dd17db50ff40aa90d5 (patch) | |
tree | 9a8a9c569d68b7bbdfde292bd66a5b71fa62dc02 | |
parent | 834a85a235020379935418510c0043f08a08a2a5 (diff) | |
download | cpython-f95dd0a2986392d4f51bb1dd17db50ff40aa90d5.zip cpython-f95dd0a2986392d4f51bb1dd17db50ff40aa90d5.tar.gz cpython-f95dd0a2986392d4f51bb1dd17db50ff40aa90d5.tar.bz2 |
Fix portability problems with glibc 2.0, as reported in #449157.
-rw-r--r-- | Modules/_localemodule.c | 3 | ||||
-rw-r--r-- | Modules/addrinfo.h | 7 | ||||
-rw-r--r-- | Modules/getnameinfo.c | 4 | ||||
-rw-r--r-- | Modules/socketmodule.c | 4 | ||||
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | pyconfig.h.in | 3 |
7 files changed, 23 insertions, 4 deletions
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c index 3f11054..7f7bdd2 100644 --- a/Modules/_localemodule.c +++ b/Modules/_localemodule.c @@ -527,6 +527,8 @@ init_locale(void) ADDINT(ABMON_11); ADDINT(ABMON_12); +#ifdef RADIXCHAR + /* The following are not available with glibc 2.0 */ ADDINT(RADIXCHAR); ADDINT(THOUSEP); /* YESSTR and NOSTR are deprecated in glibc, since they are @@ -537,6 +539,7 @@ init_locale(void) ADDINT(NOSTR); */ ADDINT(CRNCYSTR); +#endif ADDINT(D_T_FMT); ADDINT(D_FMT); diff --git a/Modules/addrinfo.h b/Modules/addrinfo.h index 6d0991d..686a4b8 100644 --- a/Modules/addrinfo.h +++ b/Modules/addrinfo.h @@ -67,6 +67,10 @@ #define AI_DEFAULT (AI_V4MAPPED_CFG | AI_ADDRCONFIG) #endif +#endif /* HAVE_GETADDRINFO */ + +#ifndef HAVE_GETNAMEINFO + /* * Constants for getnameinfo() */ @@ -86,6 +90,8 @@ #define NI_DGRAM 0x00000010 #endif +#endif /* HAVE_GETNAMEINFO */ + #ifndef HAVE_ADDRINFO struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ @@ -137,4 +143,3 @@ extern void freehostent Py_PROTO((struct hostent *)); #ifdef __cplusplus } #endif -#endif diff --git a/Modules/getnameinfo.c b/Modules/getnameinfo.c index 475b531..4827bc6 100644 --- a/Modules/getnameinfo.c +++ b/Modules/getnameinfo.c @@ -81,6 +81,10 @@ struct gni_sockinet { #define ENI_FAMILY 5 #define ENI_SALEN 6 +/* forward declaration to make gcc happy */ +int getnameinfo Py_PROTO((const struct sockaddr *, size_t, char *, size_t, + char *, size_t, int)); + int getnameinfo(sa, salen, host, hostlen, serv, servlen, flags) const struct sockaddr *sa; diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 16b81ac..525a19e 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -447,7 +447,11 @@ PyGAI_Err(int error) if (error == EAI_SYSTEM) return PySocket_Err(); +#ifdef HAVE_GAI_STRERROR v = Py_BuildValue("(is)", error, gai_strerror(error)); +#else + v = Py_BuildValue("(is)", error, "getaddrinfo failed"); +#endif if (v != NULL) { PyErr_SetObject(PyGAI_Error, v); Py_DECREF(v); @@ -1,6 +1,6 @@ #! /bin/sh -# From configure.in Revision: 1.245 +# From configure.in Revision: 1.246 # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 @@ -4570,7 +4570,7 @@ echo "$ac_t""MACHDEP_OBJS" 1>&6 # checks for library functions for ac_func in alarm chown clock confstr ctermid ctermid_r execv \ flock fork fsync fdatasync fpathconf ftime ftruncate \ - getgroups getlogin getpeername getpid getpwent getwd \ + gai_strerror getgroups getlogin getpeername getpid getpwent getwd \ hstrerror inet_pton kill link lstat mkfifo mktime mremap \ nice pathconf pause plock poll pthread_init \ putenv readlink \ diff --git a/configure.in b/configure.in index aa27dd6..515bc1e 100644 --- a/configure.in +++ b/configure.in @@ -1236,7 +1236,7 @@ AC_MSG_RESULT(MACHDEP_OBJS) # checks for library functions AC_CHECK_FUNCS(alarm chown clock confstr ctermid ctermid_r execv \ flock fork fsync fdatasync fpathconf ftime ftruncate \ - getgroups getlogin getpeername getpid getpwent getwd \ + gai_strerror getgroups getlogin getpeername getpid getpwent getwd \ hstrerror inet_pton kill link lstat mkfifo mktime mremap \ nice pathconf pause plock poll pthread_init \ putenv readlink \ diff --git a/pyconfig.h.in b/pyconfig.h.in index bdb242c..72fad87 100644 --- a/pyconfig.h.in +++ b/pyconfig.h.in @@ -371,6 +371,9 @@ /* Define if you have the ftruncate function. */ #undef HAVE_FTRUNCATE +/* Define if you have the gai_strerror function. */ +#undef HAVE_GAI_STRERROR + /* Define if you have the getaddrinfo function. */ #undef HAVE_GETADDRINFO |