[Python-checkins] bpo-39943: Keep constness of pointer objects. (19405)

Andy Lester webhook-mailer at python.org
Thu Apr 9 21:05:46 EDT 2020


https://github.com/python/cpython/commit/38ada3bac8205a7690d573d715b0e84e60297c4c
commit: 38ada3bac8205a7690d573d715b0e84e60297c4c
branch: master
author: Andy Lester <andy at petdance.com>
committer: GitHub <noreply at github.com>
date: 2020-04-09T20:05:38-05:00
summary:

bpo-39943: Keep constness of pointer objects. (19405)

* Keep constness of pointer objects.

Also moved an auto variable that got consted into its innermost necessary scope.

* move def

Co-authored-by: Benjamin Peterson <benjamin at python.org>

files:
M Objects/typeobject.c

diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index ca26d960643e2..bc42e2db22079 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -2857,19 +2857,18 @@ PyObject *
 PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)
 {
     PyHeapTypeObject *res;
-    PyMemberDef *memb;
     PyObject *modname;
     PyTypeObject *type, *base;
 
-    PyType_Slot *slot;
+    const PyType_Slot *slot;
     Py_ssize_t nmembers, weaklistoffset, dictoffset;
-    char *s, *res_start;
+    char *res_start;
 
     nmembers = weaklistoffset = dictoffset = 0;
     for (slot = spec->slots; slot->slot; slot++) {
         if (slot->slot == Py_tp_members) {
             nmembers = 0;
-            for (memb = slot->pfunc; memb->name != NULL; memb++) {
+            for (const PyMemberDef *memb = slot->pfunc; memb->name != NULL; memb++) {
                 nmembers++;
                 if (strcmp(memb->name, "__weaklistoffset__") == 0) {
                     // The PyMemberDef must be a Py_ssize_t and readonly
@@ -2899,9 +2898,9 @@ PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)
     }
 
     /* Set the type name and qualname */
-    s = strrchr(spec->name, '.');
+    const char *s = strrchr(spec->name, '.');
     if (s == NULL)
-        s = (char*)spec->name;
+        s = spec->name;
     else
         s++;
 



More information about the Python-checkins mailing list