From 1089bdc81aecf6adaf636547d4cf3949ec5d8d2c Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 14 Nov 2022 18:49:14 +0100 Subject: [PATCH] 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. --- Doc/includes/custom2.c | 10 +++------- Doc/includes/custom3.c | 22 +++++++--------------- Doc/includes/custom4.c | 16 +++++----------- 3 files changed, 15 insertions(+), 33 deletions(-) diff --git a/Doc/includes/custom2.c b/Doc/includes/custom2.c index 2a3c59f8f04..aee9e1bb7f2 100644 --- a/Doc/includes/custom2.c +++ b/Doc/includes/custom2.c @@ -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; } diff --git a/Doc/includes/custom3.c b/Doc/includes/custom3.c index 5a47530f0a6..8d88bc24511 100644 --- a/Doc/includes/custom3.c +++ b/Doc/includes/custom3.c @@ -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; } diff --git a/Doc/includes/custom4.c b/Doc/includes/custom4.c index c7ee5557848..ad240ae6a8d 100644 --- a/Doc/includes/custom4.c +++ b/Doc/includes/custom4.c @@ -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; }