[pypy-commit] pypy newmemoryview-app-level: fix 2/3 compatibility

mattip pypy.commits at gmail.com
Wed Feb 27 17:47:44 EST 2019


Author: Matti Picus <matti.picus at gmail.com>
Branch: newmemoryview-app-level
Changeset: r96189:05a3ee709f7c
Date: 2019-02-26 21:23 +0200
http://bitbucket.org/pypy/pypy/changeset/05a3ee709f7c/

Log:	fix 2/3 compatibility

diff --git a/lib_pypy/_ctypes/array.py b/lib_pypy/_ctypes/array.py
--- a/lib_pypy/_ctypes/array.py
+++ b/lib_pypy/_ctypes/array.py
@@ -254,7 +254,7 @@
             obj = obj[0]
         
         fmt = get_format_str(obj._type_)
-        itemsize = len(buffer(obj[0]))
+        itemsize = len(memoryview(obj[0]))
         return __pypy__.newmemoryview(memoryview(self._buffer), itemsize, fmt, shape)
 
 ARRAY_CACHE = {}
@@ -288,8 +288,12 @@
             bo = byteorder[sys.byteorder]
         flds = []
         for name, obj in typ._fields_:
-            flds.append(bo)
-            flds.append(get_format_str(obj))
+            ch = get_format_str(obj)
+            if (ch) == 'B':
+                flds.append(byteorder[sys.byteorder])
+            else:
+                flds.append(bo)
+            flds.append(ch)
             flds.append(':')
             flds.append(name)
             flds.append(':')


More information about the pypy-commit mailing list