basicsize and itemsize are Py_ssize_t #9688

This commit is contained in:
Benjamin Peterson 2010-08-25 23:13:17 +00:00
parent dc078de493
commit 0e10206f2c
3 changed files with 9 additions and 2 deletions

View file

@ -550,6 +550,11 @@ def test_format_spec_errors(self):
for code in 'xXobns':
self.assertRaises(ValueError, format, 0, ',' + code)
def test_internal_sizes(self):
self.assertGreater(object.__basicsize__, 0)
self.assertGreater(tuple.__itemsize__, 0)
def test_main():
run_unittest(TypesTests)

View file

@ -12,6 +12,8 @@ What's New in Python 3.2 Alpha 2?
Core and Builtins
-----------------
- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
- Issue #9684: Added a definition for SIZEOF_WCHAR_T to PC/pyconfig.h,
to match the pyconfig.h generated by configure on other systems.

View file

@ -189,8 +189,8 @@ assign_version_tag(PyTypeObject *type)
static PyMemberDef type_members[] = {
{"__basicsize__", T_INT, offsetof(PyTypeObject,tp_basicsize),READONLY},
{"__itemsize__", T_INT, offsetof(PyTypeObject, tp_itemsize), READONLY},
{"__basicsize__", T_PYSSIZET, offsetof(PyTypeObject,tp_basicsize),READONLY},
{"__itemsize__", T_PYSSIZET, offsetof(PyTypeObject, tp_itemsize), READONLY},
{"__flags__", T_LONG, offsetof(PyTypeObject, tp_flags), READONLY},
{"__weakrefoffset__", T_LONG,
offsetof(PyTypeObject, tp_weaklistoffset), READONLY},