[pypy-commit] pypy rw-PyString_AS_STRING: allow subclassing PyUnicode_Type
mattip
pypy.commits at gmail.com
Tue Jun 14 18:09:28 EDT 2016
Author: Matti Picus <matti.picus at gmail.com>
Branch: rw-PyString_AS_STRING
Changeset: r85170:752495b32c5f
Date: 2016-06-14 21:18 +0300
http://bitbucket.org/pypy/pypy/changeset/752495b32c5f/
Log: allow subclassing PyUnicode_Type
diff --git a/pypy/module/cpyext/unicodeobject.py b/pypy/module/cpyext/unicodeobject.py
--- a/pypy/module/cpyext/unicodeobject.py
+++ b/pypy/module/cpyext/unicodeobject.py
@@ -77,7 +77,9 @@
"""
py_uni = rffi.cast(PyUnicodeObject, py_obj)
s = rffi.wcharpsize2unicode(py_uni.c_str, py_uni.c_length)
- w_obj = space.wrap(s)
+ w_type = from_ref(space, rffi.cast(PyObject, py_obj.c_ob_type))
+ w_obj = space.allocate_instance(unicodeobject.W_UnicodeObject, w_type)
+ w_obj.__init__(s)
py_uni.c_hash = space.hash_w(w_obj)
track_reference(space, py_obj, w_obj)
return w_obj
More information about the pypy-commit
mailing list