Author: Ronan Lamy <[email protected]>
Branch: PyBuffer-backport
Changeset: r91251:3ebd85b5b58e
Date: 2017-05-11 16:02 +0100
http://bitbucket.org/pypy/pypy/changeset/3ebd85b5b58e/

Log:    Fix memoryview.__setitem__, again

diff --git a/pypy/objspace/std/memoryobject.py 
b/pypy/objspace/std/memoryobject.py
--- a/pypy/objspace/std/memoryobject.py
+++ b/pypy/objspace/std/memoryobject.py
@@ -144,18 +144,11 @@
         is_slice = space.isinstance_w(w_index, space.w_slice)
         start, stop, step, slicelength = self._decode_index(space, w_index, 
is_slice)
         itemsize = self.getitemsize()
-        if step == 0:  # index only
-            value = space.buffer_w(w_obj, space.BUF_CONTIG_RO)
-            if value.getitemsize() != itemsize:
-                raise oefmt(space.w_TypeError,
-                            "mismatching itemsizes for %T and %T", self, w_obj)
-            self.view.setbytes(start * itemsize, value.getbytes(0, itemsize))
-        elif step == 1:
-            value = space.buffer_w(w_obj, space.BUF_CONTIG_RO)
-            if value.getlength() != slicelength * itemsize:
-                raise oefmt(space.w_ValueError,
-                            "cannot modify size of memoryview object")
-            self.view.setbytes(start * itemsize, value.as_str())
+        value = space.buffer_w(w_obj, space.BUF_CONTIG_RO)
+        if value.getlength() != slicelength * itemsize:
+            raise oefmt(space.w_ValueError,
+                        "cannot modify size of memoryview object")
+        self.view.setbytes(start * itemsize, value.as_str())
 
     def descr_len(self, space):
         self._check_released(space)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to