summaryrefslogtreecommitdiff
path: root/Modules/_struct.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_struct.c')
-rw-r--r--Modules/_struct.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 796d1682f0..d621789d6b 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1650,7 +1650,7 @@ unpackiter_iternext(unpackiterobject *self)
}
static PyTypeObject unpackiter_type = {
- PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ PyVarObject_HEAD_INIT(NULL, 0)
"unpack_iterator", /* tp_name */
sizeof(unpackiterobject), /* tp_basicsize */
0, /* tp_itemsize */
@@ -2048,7 +2048,7 @@ cache_struct(PyObject *fmt)
s_object = PyObject_CallFunctionObjArgs((PyObject *)(&PyStructType), fmt, NULL);
if (s_object != NULL) {
- if (PyDict_Size(cache) >= MAXCACHE)
+ if (PyDict_GET_SIZE(cache) >= MAXCACHE)
PyDict_Clear(cache);
/* Attempt to cache the result */
if (PyDict_SetItem(cache, fmt, s_object) == -1)
@@ -2301,6 +2301,9 @@ PyInit__struct(void)
if (PyType_Ready(&PyStructType) < 0)
return NULL;
+ if (PyType_Ready(&unpackiter_type) < 0)
+ return NULL;
+
/* Check endian and swap in faster functions */
{
const formatdef *native = native_table;