mirror of https://github.com/python/cpython
Fix portability problems with glibc 2.0, as reported in #449157.
This commit is contained in:
parent
834a85a235
commit
f95dd0a298
|
@ -527,6 +527,8 @@ init_locale(void)
|
||||||
ADDINT(ABMON_11);
|
ADDINT(ABMON_11);
|
||||||
ADDINT(ABMON_12);
|
ADDINT(ABMON_12);
|
||||||
|
|
||||||
|
#ifdef RADIXCHAR
|
||||||
|
/* The following are not available with glibc 2.0 */
|
||||||
ADDINT(RADIXCHAR);
|
ADDINT(RADIXCHAR);
|
||||||
ADDINT(THOUSEP);
|
ADDINT(THOUSEP);
|
||||||
/* YESSTR and NOSTR are deprecated in glibc, since they are
|
/* YESSTR and NOSTR are deprecated in glibc, since they are
|
||||||
|
@ -537,6 +539,7 @@ init_locale(void)
|
||||||
ADDINT(NOSTR);
|
ADDINT(NOSTR);
|
||||||
*/
|
*/
|
||||||
ADDINT(CRNCYSTR);
|
ADDINT(CRNCYSTR);
|
||||||
|
#endif
|
||||||
|
|
||||||
ADDINT(D_T_FMT);
|
ADDINT(D_T_FMT);
|
||||||
ADDINT(D_FMT);
|
ADDINT(D_FMT);
|
||||||
|
|
|
@ -67,6 +67,10 @@
|
||||||
#define AI_DEFAULT (AI_V4MAPPED_CFG | AI_ADDRCONFIG)
|
#define AI_DEFAULT (AI_V4MAPPED_CFG | AI_ADDRCONFIG)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* HAVE_GETADDRINFO */
|
||||||
|
|
||||||
|
#ifndef HAVE_GETNAMEINFO
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Constants for getnameinfo()
|
* Constants for getnameinfo()
|
||||||
*/
|
*/
|
||||||
|
@ -86,6 +90,8 @@
|
||||||
#define NI_DGRAM 0x00000010
|
#define NI_DGRAM 0x00000010
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* HAVE_GETNAMEINFO */
|
||||||
|
|
||||||
#ifndef HAVE_ADDRINFO
|
#ifndef HAVE_ADDRINFO
|
||||||
struct addrinfo {
|
struct addrinfo {
|
||||||
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
|
int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
|
||||||
|
@ -137,4 +143,3 @@ extern void freehostent Py_PROTO((struct hostent *));
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
|
@ -81,6 +81,10 @@ struct gni_sockinet {
|
||||||
#define ENI_FAMILY 5
|
#define ENI_FAMILY 5
|
||||||
#define ENI_SALEN 6
|
#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
|
int
|
||||||
getnameinfo(sa, salen, host, hostlen, serv, servlen, flags)
|
getnameinfo(sa, salen, host, hostlen, serv, servlen, flags)
|
||||||
const struct sockaddr *sa;
|
const struct sockaddr *sa;
|
||||||
|
|
|
@ -447,7 +447,11 @@ PyGAI_Err(int error)
|
||||||
if (error == EAI_SYSTEM)
|
if (error == EAI_SYSTEM)
|
||||||
return PySocket_Err();
|
return PySocket_Err();
|
||||||
|
|
||||||
|
#ifdef HAVE_GAI_STRERROR
|
||||||
v = Py_BuildValue("(is)", error, gai_strerror(error));
|
v = Py_BuildValue("(is)", error, gai_strerror(error));
|
||||||
|
#else
|
||||||
|
v = Py_BuildValue("(is)", error, "getaddrinfo failed");
|
||||||
|
#endif
|
||||||
if (v != NULL) {
|
if (v != NULL) {
|
||||||
PyErr_SetObject(PyGAI_Error, v);
|
PyErr_SetObject(PyGAI_Error, v);
|
||||||
Py_DECREF(v);
|
Py_DECREF(v);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# From configure.in Revision: 1.245
|
# From configure.in Revision: 1.246
|
||||||
|
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated automatically using autoconf version 2.13
|
# Generated automatically using autoconf version 2.13
|
||||||
|
@ -4570,7 +4570,7 @@ echo "$ac_t""MACHDEP_OBJS" 1>&6
|
||||||
# checks for library functions
|
# checks for library functions
|
||||||
for ac_func in alarm chown clock confstr ctermid ctermid_r execv \
|
for ac_func in alarm chown clock confstr ctermid ctermid_r execv \
|
||||||
flock fork fsync fdatasync fpathconf ftime ftruncate \
|
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 \
|
hstrerror inet_pton kill link lstat mkfifo mktime mremap \
|
||||||
nice pathconf pause plock poll pthread_init \
|
nice pathconf pause plock poll pthread_init \
|
||||||
putenv readlink \
|
putenv readlink \
|
||||||
|
|
|
@ -1236,7 +1236,7 @@ AC_MSG_RESULT(MACHDEP_OBJS)
|
||||||
# checks for library functions
|
# checks for library functions
|
||||||
AC_CHECK_FUNCS(alarm chown clock confstr ctermid ctermid_r execv \
|
AC_CHECK_FUNCS(alarm chown clock confstr ctermid ctermid_r execv \
|
||||||
flock fork fsync fdatasync fpathconf ftime ftruncate \
|
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 \
|
hstrerror inet_pton kill link lstat mkfifo mktime mremap \
|
||||||
nice pathconf pause plock poll pthread_init \
|
nice pathconf pause plock poll pthread_init \
|
||||||
putenv readlink \
|
putenv readlink \
|
||||||
|
|
|
@ -371,6 +371,9 @@
|
||||||
/* Define if you have the ftruncate function. */
|
/* Define if you have the ftruncate function. */
|
||||||
#undef HAVE_FTRUNCATE
|
#undef HAVE_FTRUNCATE
|
||||||
|
|
||||||
|
/* Define if you have the gai_strerror function. */
|
||||||
|
#undef HAVE_GAI_STRERROR
|
||||||
|
|
||||||
/* Define if you have the getaddrinfo function. */
|
/* Define if you have the getaddrinfo function. */
|
||||||
#undef HAVE_GETADDRINFO
|
#undef HAVE_GETADDRINFO
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue