[pypy-commit] pypy py3.5: use arg_w('y*', ...) instead of bufferstr_w for socket.sendto

plan_rich pypy.commits at gmail.com
Thu Dec 8 06:30:14 EST 2016


Author: Richard Plangger <planrichi at gmail.com>
Branch: py3.5
Changeset: r88965:78ca51c16326
Date: 2016-12-08 12:29 +0100
http://bitbucket.org/pypy/pypy/changeset/78ca51c16326/

Log:	use arg_w('y*', ...) instead of bufferstr_w for socket.sendto

diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py
--- a/pypy/interpreter/baseobjspace.py
+++ b/pypy/interpreter/baseobjspace.py
@@ -1502,9 +1502,9 @@
 
     def _getarg_error(self, expected, w_obj):
         if self.is_none(w_obj):
-            e = oefmt(self.w_TypeError, "must be %s, not None", expected)
+            e = oefmt(self.w_TypeError, "a %s is required, not None", expected)
         else:
-            e = oefmt(self.w_TypeError, "must be %s, not %T", expected, w_obj)
+            e = oefmt(self.w_TypeError, "a %s is requried, not %T", expected, w_obj)
         raise e
 
     @specialize.arg(1)
@@ -1543,7 +1543,7 @@
             try:
                 return w_obj.buffer_w(self, self.BUF_SIMPLE)
             except BufferInterfaceNotFound:
-                self._getarg_error("bytes or buffer", w_obj)
+                self._getarg_error("bytes-like object", w_obj)
         else:
             assert False
 
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
@@ -449,13 +449,14 @@
         except SocketError as e:
             raise converted_error(space, e)
 
-    @unwrap_spec(data='bufferstr')
-    def sendto_w(self, space, data, w_param2, w_param3=None):
+    @unwrap_spec(data='buffer')
+    def sendto_w(self, space, w_data, w_param2, w_param3=None):
         """sendto(data[, flags], address) -> count
 
         Like send(data, flags) but allows specifying the destination address.
         For IP sockets, the address is a pair (hostaddr, port).
         """
+        data = space.arg_w('y*', w_data)
         if w_param3 is None:
             # 2 args version
             flags = 0


More information about the pypy-commit mailing list