gh-99300: Use Py_NewRef() in Doc/ directory (#99480)

Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and
Py_XNewRef() in test C files of the Doc/ directory.

Replace PyModule_AddObject() with PyModule_AddObjectRef() to simplify
reference counting.
This commit is contained in:
Victor Stinner 2022-11-14 18:49:14 +01:00 committed by GitHub
parent 65dd745f1a
commit 1089bdc81a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 33 deletions

View file

@ -51,14 +51,12 @@ Custom_init(CustomObject *self, PyObject *args, PyObject *kwds)
if (first) {
tmp = self->first;
Py_INCREF(first);
self->first = first;
self->first = Py_NewRef(first);
Py_XDECREF(tmp);
}
if (last) {
tmp = self->last;
Py_INCREF(last);
self->last = last;
self->last = Py_NewRef(last);
Py_XDECREF(tmp);
}
return 0;
@ -127,9 +125,7 @@ PyInit_custom2(void)
if (m == NULL)
return NULL;
Py_INCREF(&CustomType);
if (PyModule_AddObject(m, "Custom", (PyObject *) &CustomType) < 0) {
Py_DECREF(&CustomType);
if (PyModule_AddObjectRef(m, "Custom", (PyObject *) &CustomType) < 0) {
Py_DECREF(m);
return NULL;
}

View file

@ -51,14 +51,12 @@ Custom_init(CustomObject *self, PyObject *args, PyObject *kwds)
if (first) {
tmp = self->first;
Py_INCREF(first);
self->first = first;
self->first = Py_NewRef(first);
Py_DECREF(tmp);
}
if (last) {
tmp = self->last;
Py_INCREF(last);
self->last = last;
self->last = Py_NewRef(last);
Py_DECREF(tmp);
}
return 0;
@ -73,8 +71,7 @@ static PyMemberDef Custom_members[] = {
static PyObject *
Custom_getfirst(CustomObject *self, void *closure)
{
Py_INCREF(self->first);
return self->first;
return Py_NewRef(self->first);
}
static int
@ -91,8 +88,7 @@ Custom_setfirst(CustomObject *self, PyObject *value, void *closure)
return -1;
}
tmp = self->first;
Py_INCREF(value);
self->first = value;
self->first = Py_NewRef(value);
Py_DECREF(tmp);
return 0;
}
@ -100,8 +96,7 @@ Custom_setfirst(CustomObject *self, PyObject *value, void *closure)
static PyObject *
Custom_getlast(CustomObject *self, void *closure)
{
Py_INCREF(self->last);
return self->last;
return Py_NewRef(self->last);
}
static int
@ -118,8 +113,7 @@ Custom_setlast(CustomObject *self, PyObject *value, void *closure)
return -1;
}
tmp = self->last;
Py_INCREF(value);
self->last = value;
self->last = Py_NewRef(value);
Py_DECREF(tmp);
return 0;
}
@ -178,9 +172,7 @@ PyInit_custom3(void)
if (m == NULL)
return NULL;
Py_INCREF(&CustomType);
if (PyModule_AddObject(m, "Custom", (PyObject *) &CustomType) < 0) {
Py_DECREF(&CustomType);
if (PyModule_AddObjectRef(m, "Custom", (PyObject *) &CustomType) < 0) {
Py_DECREF(m);
return NULL;
}

View file

@ -67,14 +67,12 @@ Custom_init(CustomObject *self, PyObject *args, PyObject *kwds)
if (first) {
tmp = self->first;
Py_INCREF(first);
self->first = first;
self->first = Py_NewRef(first);
Py_DECREF(tmp);
}
if (last) {
tmp = self->last;
Py_INCREF(last);
self->last = last;
self->last = Py_NewRef(last);
Py_DECREF(tmp);
}
return 0;
@ -89,8 +87,7 @@ static PyMemberDef Custom_members[] = {
static PyObject *
Custom_getfirst(CustomObject *self, void *closure)
{
Py_INCREF(self->first);
return self->first;
return Py_NewRef(self->first);
}
static int
@ -114,8 +111,7 @@ Custom_setfirst(CustomObject *self, PyObject *value, void *closure)
static PyObject *
Custom_getlast(CustomObject *self, void *closure)
{
Py_INCREF(self->last);
return self->last;
return Py_NewRef(self->last);
}
static int
@ -192,9 +188,7 @@ PyInit_custom4(void)
if (m == NULL)
return NULL;
Py_INCREF(&CustomType);
if (PyModule_AddObject(m, "Custom", (PyObject *) &CustomType) < 0) {
Py_DECREF(&CustomType);
if (PyModule_AddObjectRef(m, "Custom", (PyObject *) &CustomType) < 0) {
Py_DECREF(m);
return NULL;
}