mirror of https://github.com/python/cpython
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@python.org>
This commit is contained in:
parent
5cd2803009
commit
38ada3bac8
|
@ -2857,19 +2857,18 @@ PyObject *
|
||||||
PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)
|
PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)
|
||||||
{
|
{
|
||||||
PyHeapTypeObject *res;
|
PyHeapTypeObject *res;
|
||||||
PyMemberDef *memb;
|
|
||||||
PyObject *modname;
|
PyObject *modname;
|
||||||
PyTypeObject *type, *base;
|
PyTypeObject *type, *base;
|
||||||
|
|
||||||
PyType_Slot *slot;
|
const PyType_Slot *slot;
|
||||||
Py_ssize_t nmembers, weaklistoffset, dictoffset;
|
Py_ssize_t nmembers, weaklistoffset, dictoffset;
|
||||||
char *s, *res_start;
|
char *res_start;
|
||||||
|
|
||||||
nmembers = weaklistoffset = dictoffset = 0;
|
nmembers = weaklistoffset = dictoffset = 0;
|
||||||
for (slot = spec->slots; slot->slot; slot++) {
|
for (slot = spec->slots; slot->slot; slot++) {
|
||||||
if (slot->slot == Py_tp_members) {
|
if (slot->slot == Py_tp_members) {
|
||||||
nmembers = 0;
|
nmembers = 0;
|
||||||
for (memb = slot->pfunc; memb->name != NULL; memb++) {
|
for (const PyMemberDef *memb = slot->pfunc; memb->name != NULL; memb++) {
|
||||||
nmembers++;
|
nmembers++;
|
||||||
if (strcmp(memb->name, "__weaklistoffset__") == 0) {
|
if (strcmp(memb->name, "__weaklistoffset__") == 0) {
|
||||||
// The PyMemberDef must be a Py_ssize_t and readonly
|
// 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 */
|
/* Set the type name and qualname */
|
||||||
s = strrchr(spec->name, '.');
|
const char *s = strrchr(spec->name, '.');
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
s = (char*)spec->name;
|
s = spec->name;
|
||||||
else
|
else
|
||||||
s++;
|
s++;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue