[pypy-svn] r46780 - in pypy/dist/pypy: rlib rpython rpython/lltypesystem

arigo at codespeak.net arigo at codespeak.net
Fri Sep 21 11:52:21 CEST 2007


Author: arigo
Date: Fri Sep 21 11:52:20 2007
New Revision: 46780

Modified:
   pypy/dist/pypy/rlib/_rsocket_rffi.py
   pypy/dist/pypy/rlib/rsocket_rffi.py
   pypy/dist/pypy/rpython/lltypesystem/rffi.py
   pypy/dist/pypy/rpython/rbuiltin.py
Log:
First round of translation fixes.  'checkmodule' is great :-)


Modified: pypy/dist/pypy/rlib/_rsocket_rffi.py
==============================================================================
--- pypy/dist/pypy/rlib/_rsocket_rffi.py	(original)
+++ pypy/dist/pypy/rlib/_rsocket_rffi.py	Fri Sep 21 11:52:20 2007
@@ -581,7 +581,7 @@
 
     assert len(WIN32_ERROR_MESSAGES) == 53 # detect duplicates
 
-    def socket_strerror(errno):
+    def socket_strerror_str(errno):
         return WIN32_ERROR_MESSAGES.get(errno, "winsock error %d" % errno)
 else:
-    socket_strerror = os.strerror
+    socket_strerror_str = os.strerror

Modified: pypy/dist/pypy/rlib/rsocket_rffi.py
==============================================================================
--- pypy/dist/pypy/rlib/rsocket_rffi.py	(original)
+++ pypy/dist/pypy/rlib/rsocket_rffi.py	Fri Sep 21 11:52:20 2007
@@ -231,7 +231,7 @@
         _, w_port = space.unpackiterable(w_address, 2)
         port = space.int_w(w_port)
         a = self.lock(_c.sockaddr_in)
-        a.c_sin_port = htons(port)
+        rffi.setintfield(a, 'c_sin_port', htons(port))
         self.unlock()
 
     def from_in_addr(in_addr):
@@ -313,9 +313,9 @@
                                "to 4, not %d" % len(pieces_w))
         host = space.str_w(pieces_w[0])
         port = space.int_w(pieces_w[1])
-        if len(pieces_w) > 2: flowinfo = space.int_w(pieces_w[2])
+        if len(pieces_w) > 2: flowinfo = space.uint_w(pieces_w[2])
         else:                 flowinfo = 0
-        if len(pieces_w) > 3: scope_id = space.int_w(pieces_w[3])
+        if len(pieces_w) > 3: scope_id = space.uint_w(pieces_w[3])
         else:                 scope_id = 0
         return INET6Address(host, port, flowinfo, scope_id)
     from_object = staticmethod(from_object)
@@ -327,14 +327,14 @@
             raise RSocketError("AF_INET6 address must be a tuple of length 2 "
                                "to 4, not %d" % len(pieces_w))
         port = space.int_w(pieces_w[1])
-        if len(pieces_w) > 2: flowinfo = space.int_w(pieces_w[2])
+        if len(pieces_w) > 2: flowinfo = space.uint_w(pieces_w[2])
         else:                 flowinfo = 0
-        if len(pieces_w) > 3: scope_id = space.int_w(pieces_w[3])
+        if len(pieces_w) > 3: scope_id = space.uint_w(pieces_w[3])
         else:                 scope_id = 0
         a = self.lock(_c.sockaddr_in6)
-        a.c_sin6_port = htons(port)
-        a.c_sin6_flowinfo = flowinfo
-        a.c_sin6_scope_id = scope_id
+        rffi.setintfield(a, 'c_sin6_port', htons(port))
+        rffi.setintfield(a, 'c_sin6_flowinfo', flowinfo)
+        rffi.setintfield(a, 'c_sin6_scope_id', scope_id)
         self.unlock()
 
     def from_in6_addr(in6_addr):
@@ -458,7 +458,7 @@
 af_get = familyclass
 
 def make_address(addrptr, addrlen, result=None):
-    family = addrptr.c_sa_family
+    family = rffi.cast(lltype.Signed, addrptr.c_sa_family)
     if result is None:
         result = instantiate(familyclass(family))
     elif result.family != family:
@@ -940,7 +940,7 @@
 
 class CSocketError(SocketErrorWithErrno):
     def get_msg(self):
-        return _c.socket_strerror(self.errno)
+        return _c.socket_strerror_str(self.errno)
 
 def last_error():
     return CSocketError(_c.geterrno())
@@ -948,7 +948,7 @@
 class GAIError(SocketErrorWithErrno):
     applevelerrcls = 'gaierror'
     def get_msg(self):
-        return _c.gai_strerror(self.errno)
+        return rffi.charp2str(_c.gai_strerror(self.errno))
 
 class HSocketError(SocketError):
     applevelerrcls = 'herror'
@@ -1046,7 +1046,7 @@
             p = rffi.cast(lltype.Ptr(_c.in_addr), paddr)
             addr = INETAddress.from_in_addr(p)
         elif AF_INET6 is not None and family == AF_INET6:
-            p = cast(lltype.Ptr(_c.in6_addr), paddr)
+            p = rffi.cast(lltype.Ptr(_c.in6_addr), paddr)
             addr = INET6Address.from_in6_addr(p)
         else:
             raise RSocketError("unknown address family")
@@ -1098,9 +1098,9 @@
                 canonname = rffi.charp2str(info.c_ai_canonname)
             else:
                 canonname = ""
-            result.append((info.c_ai_family,
-                           info.c_ai_socktype,
-                           info.c_ai_protocol,
+            result.append((rffi.cast(lltype.Signed, info.c_ai_family),
+                           rffi.cast(lltype.Signed, info.c_ai_socktype),
+                           rffi.cast(lltype.Signed, info.c_ai_protocol),
                            canonname,
                            addr))
             info = info.c_ai_next

Modified: pypy/dist/pypy/rpython/lltypesystem/rffi.py
==============================================================================
--- pypy/dist/pypy/rpython/lltypesystem/rffi.py	(original)
+++ pypy/dist/pypy/rpython/lltypesystem/rffi.py	Fri Sep 21 11:52:20 2007
@@ -369,7 +369,7 @@
     if tp is lltype.Signed:
         return ULONG._type.BITS/8
     return tp._type.BITS/8
-_annspecialcase_ = 'specialize:memo'
+sizeof._annspecialcase_ = 'specialize:memo'
 
 def offsetof(STRUCT, fieldname):
     """Similar to llmemory.offsetof() but tries hard to return a integer
@@ -385,7 +385,7 @@
     # a symbolic result as a fallback
     from pypy.rpython.lltypesystem import llmemory
     return llmemory.offsetof(STRUCT, fieldname)
-_annspecialcase_ = 'specialize:memo'
+offsetof._annspecialcase_ = 'specialize:memo'
 
 # ********************** some helpers *******************
 

Modified: pypy/dist/pypy/rpython/rbuiltin.py
==============================================================================
--- pypy/dist/pypy/rpython/rbuiltin.py	(original)
+++ pypy/dist/pypy/rpython/rbuiltin.py	Fri Sep 21 11:52:20 2007
@@ -363,6 +363,7 @@
     hop.genop('free', vlist)
 
 def rtype_const_result(hop):
+    hop.exception_cannot_occur()
     return hop.inputconst(hop.r_result.lowleveltype, hop.s_result.const)
 
 def rtype_cast_pointer(hop):



More information about the Pypy-commit mailing list