Issue #15402: Simplify Struct.__sizeof__ and make tests more precise.
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 0a09fd8..558d24b 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -1669,15 +1669,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);
 }