[Python-checkins] r84347 - in python/branches/py3k: Include/longobject.h Misc/NEWS Modules/socketmodule.h

antoine.pitrou python-checkins at python.org
Sat Aug 28 22:42:55 CEST 2010


Author: antoine.pitrou
Date: Sat Aug 28 22:42:55 2010
New Revision: 84347

Log:
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.



Modified:
   python/branches/py3k/Include/longobject.h
   python/branches/py3k/Misc/NEWS
   python/branches/py3k/Modules/socketmodule.h

Modified: python/branches/py3k/Include/longobject.h
==============================================================================
--- python/branches/py3k/Include/longobject.h	(original)
+++ python/branches/py3k/Include/longobject.h	Sat Aug 28 22:42:55 2010
@@ -32,15 +32,6 @@
    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"

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Sat Aug 28 22:42:55 2010
@@ -74,6 +74,10 @@
 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.

Modified: python/branches/py3k/Modules/socketmodule.h
==============================================================================
--- python/branches/py3k/Modules/socketmodule.h	(original)
+++ python/branches/py3k/Modules/socketmodule.h	Sat Aug 28 22:42:55 2010
@@ -93,6 +93,14 @@
 #       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;


More information about the Python-checkins mailing list