[pypy-svn] r50886 - pypy/dist/pypy/rlib
fijal at codespeak.net
fijal at codespeak.net
Tue Jan 22 18:12:15 CET 2008
Author: fijal
Date: Tue Jan 22 18:12:14 2008
New Revision: 50886
Modified:
pypy/dist/pypy/rlib/rsocket.py
Log:
Make rsocket 64bit compatible
Modified: pypy/dist/pypy/rlib/rsocket.py
==============================================================================
--- pypy/dist/pypy/rlib/rsocket.py (original)
+++ pypy/dist/pypy/rlib/rsocket.py Tue Jan 22 18:12:14 2008
@@ -523,7 +523,7 @@
fd = _c.INVALID_SOCKET
def __init__(self, family=AF_INET, type=SOCK_STREAM, proto=0):
"""Create a new socket."""
- fd = intmask(_c.socket(family, type, proto))
+ fd = _c.socket(family, type, proto)
if _c.invalid_socket(fd):
raise self.error_handler()
# PLAT RISCOS
@@ -642,7 +642,7 @@
address.unlock()
if _c.invalid_socket(newfd):
raise self.error_handler()
- address.addrlen = addrlen
+ address.addrlen = rffi.cast(lltype.Signed, addrlen)
sock = make_socket(newfd, self.family, self.type, self.proto,
SocketClass)
return (sock, address)
@@ -735,7 +735,7 @@
address.unlock()
if res < 0:
raise self.error_handler()
- address.addrlen = addrlen
+ address.addrlen = rffi.cast(lltype.Signed, addrlen)
return address
def getsockname(self):
@@ -749,7 +749,7 @@
address.unlock()
if res < 0:
raise self.error_handler()
- address.addrlen = addrlen
+ address.addrlen = rffi.cast(lltype.Signed, addrlen)
return address
def getsockopt(self, level, option, maxlen):
@@ -762,7 +762,7 @@
buf, bufsize_p)
if res < 0:
raise self.error_handler()
- size = bufsize_p[0]
+ size = rffi.cast(lltype.Signed, bufsize_p[0])
assert size >= 0 # socklen_t is signed on Windows
result = ''.join([buf[i] for i in range(size)])
finally:
@@ -782,7 +782,7 @@
flagsize_p)
if res < 0:
raise self.error_handler()
- result = flag_p[0]
+ result = rffi.cast(lltype.Signed, flag_p[0])
finally:
lltype.free(flagsize_p, flavor='raw')
finally:
@@ -838,7 +838,7 @@
try:
read_bytes = _c.recvfrom(self.fd, buf, buffersize, flags,
addr_p, addrlen_p)
- addrlen = addrlen_p[0]
+ addrlen = rffi.cast(lltype.Signed, addrlen_p[0])
finally:
lltype.free(addrlen_p, flavor='raw')
address.unlock()
@@ -1031,8 +1031,8 @@
res = _c.socketpair(family, type, proto, result)
if res < 0:
raise last_error()
- fd0 = result[0]
- fd1 = result[1]
+ fd0 = rffi.cast(lltype.Signed, result[0])
+ fd1 = rffi.cast(lltype.Signed, result[1])
lltype.free(result, flavor='raw')
return (make_socket(fd0, family, type, proto, SocketClass),
make_socket(fd1, family, type, proto, SocketClass))
@@ -1069,7 +1069,7 @@
def gethost_common(hostname, hostent, addr=None):
if not hostent:
raise HSocketError(hostname)
- family = hostent.c_h_addrtype
+ family = rffi.getintfield(hostent, 'c_h_addrtype')
if addr is not None and addr.family != family:
raise CSocketError(_c.EAFNOSUPPORT)
@@ -1135,7 +1135,8 @@
result = []
info = res
while info:
- addr = make_address(info.c_ai_addr, info.c_ai_addrlen,
+ addr = make_address(info.c_ai_addr,
+ rffi.getintfield(info, 'c_ai_addrlen'),
address_to_fill)
if info.c_ai_canonname:
canonname = rffi.charp2str(info.c_ai_canonname)
@@ -1207,7 +1208,7 @@
if ip == "255.255.255.255":
return "\xff\xff\xff\xff"
packed_addr = _c.inet_addr(ip)
- if packed_addr == rffi.cast(rffi.UINT, INADDR_NONE):
+ if packed_addr == rffi.cast(lltype.Unsigned, INADDR_NONE):
raise RSocketError("illegal IP address string passed to inet_aton")
size = sizeof(_c.in_addr)
buf = mallocbuf(size)
More information about the Pypy-commit
mailing list