Author: Ronan Lamy <[email protected]>
Branch: rffi-parser
Changeset: r89172:e3991a2b6927
Date: 2016-12-19 00:07 +0000
http://bitbucket.org/pypy/pypy/changeset/e3991a2b6927/
Log: const-correctness for tp_doc and tp_name
diff --git a/pypy/module/cpyext/buffer.py b/pypy/module/cpyext/buffer.py
--- a/pypy/module/cpyext/buffer.py
+++ b/pypy/module/cpyext/buffer.py
@@ -10,10 +10,8 @@
flags = pyobj.c_ob_type.c_tp_flags
if (flags & Py_TPFLAGS_HAVE_NEWBUFFER and as_buffer.c_bf_getbuffer):
return 1
- name = rffi.charp2str(pyobj.c_ob_type.c_tp_name)
- if name in ('str', 'bytes'):
+ name = rffi.charp2str(rffi.cast(rffi.CCHARP, pyobj.c_ob_type.c_tp_name))
+ if name in ('str', 'bytes'):
# XXX remove once wrapper of __buffer__ -> bf_getbuffer works
return 1
- return 0
-
-
+ return 0
diff --git a/pypy/module/cpyext/typeobject.py b/pypy/module/cpyext/typeobject.py
--- a/pypy/module/cpyext/typeobject.py
+++ b/pypy/module/cpyext/typeobject.py
@@ -322,7 +322,8 @@
wrapper_func_kwds, doc, func_voidp, offset=offset)
dict_w[method_name] = space.wrap(w_obj)
if pto.c_tp_doc:
- dict_w['__doc__'] = space.newbytes(rffi.charp2str(pto.c_tp_doc))
+ dict_w['__doc__'] = space.newbytes(
+ rffi.charp2str(rffi.cast(rffi.CCHARP, pto.c_tp_doc)))
if pto.c_tp_new:
add_tp_new_wrapper(space, dict_w, pto)
@@ -456,7 +457,7 @@
convert_getset_defs(space, dict_w, pto.c_tp_getset, self)
convert_member_defs(space, dict_w, pto.c_tp_members, self)
- name = rffi.charp2str(pto.c_tp_name)
+ name = rffi.charp2str(rffi.cast(rffi.CCHARP, pto.c_tp_name))
flag_heaptype = pto.c_tp_flags & Py_TPFLAGS_HEAPTYPE
if flag_heaptype:
minsize = rffi.sizeof(PyHeapTypeObject.TO)
@@ -475,7 +476,8 @@
not (pto.c_tp_as_sequence and pto.c_tp_as_sequence.c_sq_slice)):
self.flag_map_or_seq = 'M'
if pto.c_tp_doc:
- self.w_doc = space.wrap(rffi.charp2str(pto.c_tp_doc))
+ self.w_doc = space.newbytes(
+ rffi.charp2str(rffi.cast(rffi.CCHARP, pto.c_tp_doc)))
@bootstrap_function
def init_typeobject(space):
@@ -752,7 +754,7 @@
try:
w_obj = _type_realize(space, py_obj)
finally:
- name = rffi.charp2str(pto.c_tp_name)
+ name = rffi.charp2str(rffi.cast(rffi.CCHARP, pto.c_tp_name))
pto.c_tp_flags &= ~Py_TPFLAGS_READYING
pto.c_tp_flags |= Py_TPFLAGS_READY
return w_obj
@@ -858,7 +860,7 @@
base = pto.c_tp_base
base_pyo = rffi.cast(PyObject, pto.c_tp_base)
if base and not base.c_tp_flags & Py_TPFLAGS_READY:
- name = rffi.charp2str(base.c_tp_name)
+ name = rffi.charp2str(rffi.cast(rffi.CCHARP, base.c_tp_name))
type_realize(space, base_pyo)
if base and not pto.c_ob_type: # will be filled later
pto.c_ob_type = base.c_ob_type
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit