diff Modules/_struct.c @ 78311:37554bda2014 2.7

Issue #15402: Simplify Struct.__sizeof__ and make tests more precise.
author Meador Inge <meadori@gmail.com>
date Sat, 28 Jul 2012 21:58:44 -0500
parents dbe7f39ff341
children 626ed0e06fd6
line wrap: on
line diff
--- a/Modules/_struct.c	Fri Jul 27 14:05:46 2012 +0100
+++ b/Modules/_struct.c	Sat Jul 28 21:58:44 2012 -0500
@@ -1697,15 +1697,11 @@
 "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);
 }