summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorMeador Inge <meadori@gmail.com>2012-07-29 03:32:50 (GMT)
committerMeador Inge <meadori@gmail.com>2012-07-29 03:32:50 (GMT)
commitbb9b1c165d0193e6783981c1ac1e0ab9bf171c4c (patch)
tree8fb3f90d5b8ba914e18c4bb1cde3c1c36199b7c4 /Modules
parentdbf616d9c3311fd03479c7c336563a79cd04b2eb (diff)
parent90bc2dbccef5d74f0dd6875c555ee33187cfec37 (diff)
downloadcpython-bb9b1c165d0193e6783981c1ac1e0ab9bf171c4c.zip
cpython-bb9b1c165d0193e6783981c1ac1e0ab9bf171c4c.tar.gz
cpython-bb9b1c165d0193e6783981c1ac1e0ab9bf171c4c.tar.bz2
Issue #15402: Simplify Struct.__sizeof__ and make tests more precise.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_struct.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 04692f0..0b20e26 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1756,15 +1756,11 @@ PyDoc_STRVAR(s_sizeof__doc__,
"S.__sizeof__() -> size of S in memory, in bytes");
static PyObject *
-s_sizeof(PyStructObject *self)
+s_sizeof(PyStructObject *self, void *unused)
{
Py_ssize_t size;
- formatcode *code;
- size = sizeof(PyStructObject) + sizeof(formatcode);
- for (code = self->s_codes; code->fmtdef != NULL; code++) {
- size += sizeof(formatcode);
- }
+ size = sizeof(PyStructObject) + sizeof(formatcode) * (self->s_len + 1);
return PyLong_FromSsize_t(size);
}