]> granicus.if.org Git - python/commitdiff
Merged revisions 84347 via svnmerge from
authorAntoine Pitrou <solipsis@pitrou.net>
Sat, 28 Aug 2010 20:53:24 +0000 (20:53 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Sat, 28 Aug 2010 20:53:24 +0000 (20:53 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r84347 | antoine.pitrou | 2010-08-28 22:42:55 +0200 (sam., 28 août 2010) | 5 lines

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

Include/longobject.h
Misc/NEWS
Modules/socketmodule.h

index 28fb707aa8f3d89da9337efbd3b6a8757deace2b..6e4e1a4e9b25a9b3db8f311895685d38e663055d 100644 (file)
@@ -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
-
 /* For use by intobject.c only */
 PyAPI_DATA(unsigned char) _PyLong_DigitValue[256];
 
index 5075c3866e53400cc0929d97aa1f346fe34e7a39..0ff6fa0eaa9e1104332c0466f8a3b4a701879794 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -463,6 +463,10 @@ Library
 Extension Modules
 -----------------
 
+- 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 #665761: ``functools.reduce()`` will no longer mask exceptions
   other than ``TypeError`` raised by the iterator argument.
 
index 49ac9d02a13536e2c2576bb9ae57ecd133bd3792..4f426f5d85c937b1f3ea2a3889b50c39b7a71568 100644 (file)
@@ -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;