diff options
author | Meador Inge <meadori@gmail.com> | 2012-07-29 03:32:50 (GMT) |
---|---|---|
committer | Meador Inge <meadori@gmail.com> | 2012-07-29 03:32:50 (GMT) |
commit | bb9b1c165d0193e6783981c1ac1e0ab9bf171c4c (patch) | |
tree | 8fb3f90d5b8ba914e18c4bb1cde3c1c36199b7c4 /Modules | |
parent | dbf616d9c3311fd03479c7c336563a79cd04b2eb (diff) | |
parent | 90bc2dbccef5d74f0dd6875c555ee33187cfec37 (diff) | |
download | cpython-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.c | 8 |
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); } |