gh-99300: Use Py_NewRef() in Modules/ directory (#99468)

Replace Py_INCREF() and Py_XINCREF() with Py_NewRef() and
Py_XNewRef() in test C files of the Modules/ directory.
This commit is contained in:
Victor Stinner 2022-11-14 13:44:56 +01:00 committed by GitHub
parent 9a7e9f9921
commit c340cbb7f7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 92 additions and 173 deletions

View file

@ -784,16 +784,14 @@ PyTclObject_string(PyTclObject *self, void *ignored)
if (!self->string)
return NULL;
}
Py_INCREF(self->string);
return self->string;
return Py_NewRef(self->string);
}
static PyObject *
PyTclObject_str(PyTclObject *self)
{
if (self->string) {
Py_INCREF(self->string);
return self->string;
return Py_NewRef(self->string);
}
/* XXX Could cache result if it is non-ASCII. */
return unicodeFromTclObj(self->value);
@ -1736,8 +1734,7 @@ SetVar(TkappObject *self, PyObject *args, int flags)
if (!ok)
Tkinter_Error(self);
else {
res = Py_None;
Py_INCREF(res);
res = Py_NewRef(Py_None);
}
LEAVE_OVERLAP_TCL
break;
@ -1755,8 +1752,7 @@ SetVar(TkappObject *self, PyObject *args, int flags)
if (!ok)
Tkinter_Error(self);
else {
res = Py_None;
Py_INCREF(res);
res = Py_NewRef(Py_None);
}
LEAVE_OVERLAP_TCL
break;
@ -1842,8 +1838,7 @@ UnsetVar(TkappObject *self, PyObject *args, int flags)
if (code == TCL_ERROR)
res = Tkinter_Error(self);
else {
Py_INCREF(Py_None);
res = Py_None;
res = Py_NewRef(Py_None);
}
LEAVE_OVERLAP_TCL
return res;
@ -1883,8 +1878,7 @@ _tkinter_tkapp_getint(TkappObject *self, PyObject *arg)
PyObject *result;
if (PyLong_Check(arg)) {
Py_INCREF(arg);
return arg;
return Py_NewRef(arg);
}
if (PyTclObject_Check(arg)) {
@ -1928,8 +1922,7 @@ _tkinter_tkapp_getdouble(TkappObject *self, PyObject *arg)
double v;
if (PyFloat_Check(arg)) {
Py_INCREF(arg);
return arg;
return Py_NewRef(arg);
}
if (PyNumber_Check(arg)) {
@ -2145,8 +2138,7 @@ _tkinter_tkapp_splitlist(TkappObject *self, PyObject *arg)
return v;
}
if (PyTuple_Check(arg)) {
Py_INCREF(arg);
return arg;
return Py_NewRef(arg);
}
if (PyList_Check(arg)) {
return PySequence_Tuple(arg);
@ -2322,10 +2314,8 @@ _tkinter_tkapp_createcommand_impl(TkappObject *self, const char *name,
data = PyMem_NEW(PythonCmd_ClientData, 1);
if (!data)
return PyErr_NoMemory();
Py_INCREF(self);
Py_INCREF(func);
data->self = (PyObject *) self;
data->func = func;
data->self = Py_NewRef(self);
data->func = Py_NewRef(func);
if (self->threaded && self->thread_id != Tcl_GetCurrentThread()) {
Tcl_Condition cond = NULL;
CommandEvent *ev = (CommandEvent*)attemptckalloc(sizeof(CommandEvent));
@ -2430,10 +2420,8 @@ NewFHCD(PyObject *func, PyObject *file, int id)
FileHandler_ClientData *p;
p = PyMem_NEW(FileHandler_ClientData, 1);
if (p != NULL) {
Py_XINCREF(func);
Py_XINCREF(file);
p->func = func;
p->file = file;
p->func = Py_XNewRef(func);
p->file = Py_XNewRef(file);
p->id = id;
p->next = HeadFHCD;
HeadFHCD = p;
@ -2591,13 +2579,11 @@ Tktt_New(PyObject *func)
if (v == NULL)
return NULL;
Py_INCREF(func);
v->token = NULL;
v->func = func;
v->func = Py_NewRef(func);
/* Extra reference, deleted when called or when handler is deleted */
Py_INCREF(v);
return v;
return (TkttObject*)Py_NewRef(v);
}
static void
@ -2940,9 +2926,8 @@ _flatten1(FlattenContext* context, PyObject* item, int depth)
if (context->size + 1 > context->maxsize &&
!_bump(context, 1))
return 0;
Py_INCREF(o);
PyTuple_SET_ITEM(context->tuple,
context->size++, o);
context->size++, Py_NewRef(o));
}
}
} else {
@ -3266,8 +3251,7 @@ PyInit__tkinter(void)
Py_DECREF(m);
return NULL;
}
Py_INCREF(o);
if (PyModule_AddObject(m, "TclError", o)) {
if (PyModule_AddObject(m, "TclError", Py_NewRef(o))) {
Py_DECREF(o);
Py_DECREF(m);
return NULL;