diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2010-08-28 20:42:55 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-08-28 20:42:55 (GMT) |
commit | 67c7ce4bef3223af744d2b510d294000ce00388d (patch) | |
tree | d94599db1db51bb5aa9f1daaaa338ef7199a4715 | |
parent | 1a9a9d543327397396827642895410183f8902d5 (diff) | |
download | cpython-67c7ce4bef3223af744d2b510d294000ce00388d.zip cpython-67c7ce4bef3223af744d2b510d294000ce00388d.tar.gz cpython-67c7ce4bef3223af744d2b510d294000ce00388d.tar.bz2 |
Issue #4835: make PyLong_FromSocket_t() and PyLong_AsSocket_t() private
to the socket module, and fix the width of socket descriptors to be
correctly detected under 64-bit Windows.
-rw-r--r-- | Include/longobject.h | 9 | ||||
-rw-r--r-- | Misc/NEWS | 4 | ||||
-rw-r--r-- | Modules/socketmodule.h | 8 |
3 files changed, 12 insertions, 9 deletions
diff --git a/Include/longobject.h b/Include/longobject.h index a8dace6..6adf262 100644 --- a/Include/longobject.h +++ b/Include/longobject.h @@ -32,15 +32,6 @@ PyAPI_FUNC(PyObject *) PyLong_GetInfo(void); cleanup to keep the extra information. [CH] */ #define PyLong_AS_LONG(op) PyLong_AsLong(op) -/* Used by socketmodule.c */ -#if SIZEOF_SOCKET_T <= SIZEOF_LONG -#define PyLong_FromSocket_t(fd) PyLong_FromLong((SOCKET_T)(fd)) -#define PyLong_AsSocket_t(fd) (SOCKET_T)PyLong_AsLong(fd) -#else -#define PyLong_FromSocket_t(fd) PyLong_FromLongLong(((SOCKET_T)(fd)); -#define PyLong_AsSocket_t(fd) (SOCKET_T)PyLong_AsLongLong(fd) -#endif - /* Issue #1983: pid_t can be longer than a C long on some systems */ #if !defined(SIZEOF_PID_T) || SIZEOF_PID_T == SIZEOF_INT #define _Py_PARSE_PID "i" @@ -74,6 +74,10 @@ Core and Builtins Extensions ---------- +- Issue #4835: make PyLong_FromSocket_t() and PyLong_AsSocket_t() private + to the socket module, and fix the width of socket descriptors to be + correctly detected under 64-bit Windows. + - Issue #1027206: Support IDNA in gethostbyname, gethostbyname_ex, getaddrinfo and gethostbyaddr. getnameinfo is now restricted to numeric addresses as input. diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index 49ac9d0..4f426f5 100644 --- a/Modules/socketmodule.h +++ b/Modules/socketmodule.h @@ -93,6 +93,14 @@ typedef int SOCKET_T; # define SIZEOF_SOCKET_T SIZEOF_INT #endif +#if SIZEOF_SOCKET_T <= SIZEOF_LONG +#define PyLong_FromSocket_t(fd) PyLong_FromLong((SOCKET_T)(fd)) +#define PyLong_AsSocket_t(fd) (SOCKET_T)PyLong_AsLong(fd) +#else +#define PyLong_FromSocket_t(fd) PyLong_FromLongLong((SOCKET_T)(fd)) +#define PyLong_AsSocket_t(fd) (SOCKET_T)PyLong_AsLongLong(fd) +#endif + /* Socket address */ typedef union sock_addr { struct sockaddr_in in; |