Author: Alexander Hesse <[email protected]>
Branch: split-rpython
Changeset: r60012:c39ffac85542
Date: 2013-01-13 06:32 +0100
http://bitbucket.org/pypy/pypy/changeset/c39ffac85542/

Log:    Fixed translation error in interp_socket

diff --git a/pypy/module/_socket/interp_socket.py 
b/pypy/module/_socket/interp_socket.py
--- a/pypy/module/_socket/interp_socket.py
+++ b/pypy/module/_socket/interp_socket.py
@@ -54,14 +54,14 @@
 # XXX a bit of code duplication
 def fill_from_object(addr, space, w_address):
     from rpython.rlib import _rsocket_rffi as _c
-    if hasattr(addr, 'family') and addr.family == rsocket.AF_INET:
+    if isinstance(addr, rsocket.INETAddress):
         _, w_port = space.unpackiterable(w_address, 2)
         port = space.int_w(w_port)
         port = make_ushort_port(space, port)
         a = addr.lock(_c.sockaddr_in)
         rffi.setintfield(a, 'c_sin_port', rsocket.htons(port))
         addr.unlock()
-    elif hasattr(addr, 'family') and addr.family == rsocket.AF_INET6:
+    elif isinstance(addr, rsocket.INET6Address):
         pieces_w = space.unpackiterable(w_address)
         if not (2 <= len(pieces_w) <= 4):
             raise RSocketError("AF_INET6 address must be a tuple of length 2 "
@@ -109,9 +109,9 @@
                 "flowinfo must be 0-1048575."))
         flowinfo = rffi.cast(lltype.Unsigned, flowinfo)
         return rsocket.INET6Address(host, port, flowinfo, scope_id)
-    if 'AF_UNIX' in rsocket.constants and family == rsocket.AF_UNIX:
+    if rsocket.HAS_AF_UNIX and family == rsocket.AF_UNIX:
         return rsocket.UNIXAddress(space.str_w(w_address))
-    if 'AF_NETLINK' in rsocket.constants and family == rsocket.AF_NETLINK:
+    if rsocket.HAS_AF_NETLINK and family == rsocket.AF_NETLINK:
         w_pid, w_groups = space.unpackiterable(w_address, 2)
         return rsocket.NETLINKAddress(space.uint_w(w_pid), 
space.uint_w(w_groups))
     raise RSocketError("unknown address family")
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to