From 67c7ce4bef3223af744d2b510d294000ce00388d Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Sat, 28 Aug 2010 20:42:55 +0000 Subject: 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. --- Modules/socketmodule.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Modules/socketmodule.h') diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index 49ac9d02a1..4f426f5d85 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; -- cgit v1.2.1