]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-99300: Replace Py_INCREF() with Py_NewRef() (#99513)
authorVictor Stinner <vstinner@python.org>
Wed, 16 Nov 2022 09:39:47 +0000 (10:39 +0100)
committerGitHub <noreply@github.com>
Wed, 16 Nov 2022 09:39:47 +0000 (10:39 +0100)
Replace Py_INCREF() and Py_XINCREF() using a cast with Py_NewRef()
and Py_XNewRef().

12 files changed:
Modules/_asynciomodule.c
Modules/_ctypes/_ctypes.c
Modules/_ctypes/cfield.c
Modules/_elementtree.c
Modules/_testbuffer.c
Modules/_testcapi/datetime.c
Modules/mmapmodule.c
Modules/selectmodule.c
Modules/syslogmodule.c
Objects/bytearrayobject.c
Objects/funcobject.c
Objects/setobject.c

index a4f6d5733110eecf661d979b5f85a5136331dd61..3edd8a9b2dbf91e8b2133bb7ac05893af28f2d82 100644 (file)
@@ -1756,8 +1756,7 @@ future_new_iter(PyObject *fut)
         }
     }
 
-    Py_INCREF(fut);
-    it->future = (FutureObj*)fut;
+    it->future = (FutureObj*)Py_NewRef(fut);
     PyObject_GC_Track(it);
     return (PyObject*)it;
 }
@@ -1821,8 +1820,7 @@ static PyObject *
 TaskStepMethWrapper_get___self__(TaskStepMethWrapper *o, void *Py_UNUSED(ignored))
 {
     if (o->sw_task) {
-        Py_INCREF(o->sw_task);
-        return (PyObject*)o->sw_task;
+        return Py_NewRef(o->sw_task);
     }
     Py_RETURN_NONE;
 }
index 6ae2165415856522a21d63fcaa147182cdf38301..b9092d3981f3640d963ba2b5a0dc0a12ec8d7628 100644 (file)
@@ -2937,8 +2937,7 @@ PyCData_FromBaseObj(PyObject *type, PyObject *base, Py_ssize_t index, char *adr)
         assert(CDataObject_Check(base));
         cmem->b_ptr = adr;
         cmem->b_needsfree = 0;
-        Py_INCREF(base);
-        cmem->b_base = (CDataObject *)base;
+        cmem->b_base = (CDataObject *)Py_NewRef(base);
         cmem->b_index = index;
     } else { /* copy contents of adr */
         if (-1 == PyCData_MallocBuffer(cmem, dict)) {
index fdd313f675069d8e605784c6c2346d562c28c3f4..791aeba66539e9669372388216fcb7c595db468d 100644 (file)
@@ -230,8 +230,7 @@ PyCField_get(CFieldObject *self, PyObject *inst, PyTypeObject *type)
 {
     CDataObject *src;
     if (inst == NULL) {
-        Py_INCREF(self);
-        return (PyObject *)self;
+        return Py_NewRef(self);
     }
     if (!CDataObject_Check(inst)) {
         PyErr_SetString(PyExc_TypeError,
index f575d38416964f232523b11d8a3563ac5e1c1702..7b0977931f2ae6788e3cf23f31e6895488724293 100644 (file)
@@ -933,8 +933,7 @@ _elementtree_Element___getstate___impl(ElementObject *self)
     if (!children)
         return NULL;
     for (i = 0; i < PyList_GET_SIZE(children); i++) {
-        PyObject *child = self->extra->children[i];
-        Py_INCREF(child);
+        PyObject *child = Py_NewRef(self->extra->children[i]);
         PyList_SET_ITEM(children, i, child);
     }
 
@@ -1365,8 +1364,7 @@ _elementtree_Element_get_impl(ElementObject *self, PyObject *key,
 /*[clinic end generated code: output=523c614142595d75 input=ee153bbf8cdb246e]*/
 {
     if (self->extra && self->extra->attrib) {
-        PyObject *attrib = self->extra->attrib;
-        Py_INCREF(attrib);
+        PyObject *attrib = Py_NewRef(self->extra->attrib);
         PyObject *value = PyDict_GetItemWithError(attrib, key);
         Py_XINCREF(value);
         Py_DECREF(attrib);
@@ -1723,8 +1721,7 @@ element_subscr(PyObject* self_, PyObject* item)
 
             for (cur = start, i = 0; i < slicelen;
                  cur += step, i++) {
-                PyObject* item = self->extra->children[cur];
-                Py_INCREF(item);
+                PyObject* item = Py_NewRef(self->extra->children[cur]);
                 PyList_SET_ITEM(list, i, item);
             }
 
@@ -2761,8 +2758,7 @@ treebuilder_handle_end(TreeBuilderObject* self, PyObject* tag)
     if (treebuilder_append_event(self, self->end_event_obj, self->last) < 0)
         return NULL;
 
-    Py_INCREF(self->last);
-    return (PyObject*) self->last;
+    return Py_NewRef(self->last);
 }
 
 LOCAL(PyObject*)
index bec20a19bd4a72290a10d417023b65918cf2cbb8..63ed4dc6ca80e1fe51ce803bb6a4fcb42a3410f7 100644 (file)
@@ -1787,8 +1787,7 @@ ndarray_subscript(NDArrayObject *self, PyObject *key)
             return unpack_single(base->buf, base->format, base->itemsize);
         }
         else if (key == Py_Ellipsis) {
-            Py_INCREF(self);
-            return (PyObject *)self;
+            return Py_NewRef(self);
         }
         else {
             PyErr_SetString(PyExc_TypeError, "invalid indexing of scalar");
index 9fb6562901a3bc23afa8317b7d87c01933194698..88f992915fa8c10445db303eef7ee69d1331dc9e 100644 (file)
@@ -137,11 +137,9 @@ get_timezone_utc_capi(PyObject *self, PyObject *args)
         return NULL;
     }
     if (macro) {
-        Py_INCREF(PyDateTime_TimeZone_UTC);
-        return PyDateTime_TimeZone_UTC;
+        return Py_NewRef(PyDateTime_TimeZone_UTC);
     }
-    Py_INCREF(PyDateTimeAPI->TimeZone_UTC);
-    return PyDateTimeAPI->TimeZone_UTC;
+    return Py_NewRef(PyDateTimeAPI->TimeZone_UTC);
 }
 
 static PyObject *
index fdce783fdec5e2d260c0bc4114322d44a022331c..2311840e22105f690050c928d6752438ff05b66c 100644 (file)
@@ -746,8 +746,7 @@ mmap__enter__method(mmap_object *self, PyObject *args)
 {
     CHECK_VALID(NULL);
 
-    Py_INCREF(self);
-    return (PyObject *)self;
+    return Py_NewRef(self);
 }
 
 static PyObject *
index 4eea928a2683ae6444004317188bc960b808ede2..df4043de08daccc0f2a18ce24edc6c9a545ec001 100644 (file)
@@ -1652,8 +1652,7 @@ select_epoll___enter___impl(pyEpoll_Object *self)
     if (self->epfd < 0)
         return pyepoll_err_closed();
 
-    Py_INCREF(self);
-    return (PyObject *)self;
+    return Py_NewRef(self);
 }
 
 /*[clinic input]
index 5137d01c6887c664d6bd9a6652c533a95ff89979..23833b7285031334e56a42bf762bd4dd7fcb15de 100644 (file)
@@ -205,8 +205,7 @@ syslog_syslog_impl(PyObject *module, int group_left_1, int priority,
     /* Incref ident, because it can be decrefed if syslog.openlog() is
      * called when the GIL is released.
      */
-    PyObject *ident = S_ident_o;
-    Py_XINCREF(ident);
+    PyObject *ident = Py_XNewRef(S_ident_o);
 #ifdef __APPLE__
     // gh-98178: On macOS, libc syslog() is not thread-safe
     syslog(priority, "%s", message);
index b2962fd137d93efec76826e0245352188e75842d..0ba6fb5b76ccc70e1b759a91f33ee84ca2bb69de 100644 (file)
@@ -313,8 +313,7 @@ bytearray_iconcat(PyByteArrayObject *self, PyObject *other)
     }
     memcpy(PyByteArray_AS_STRING(self) + size, vo.buf, vo.len);
     PyBuffer_Release(&vo);
-    Py_INCREF(self);
-    return (PyObject *)self;
+    return Py_NewRef(self);
 }
 
 static PyObject *
@@ -340,8 +339,7 @@ bytearray_irepeat(PyByteArrayObject *self, Py_ssize_t count)
     if (count < 0)
         count = 0;
     else if (count == 1) {
-        Py_INCREF(self);
-        return (PyObject*)self;
+        return Py_NewRef(self);
     }
 
     const Py_ssize_t mysize = Py_SIZE(self);
@@ -354,8 +352,7 @@ bytearray_irepeat(PyByteArrayObject *self, Py_ssize_t count)
     char* buf = PyByteArray_AS_STRING(self);
     _PyBytes_Repeat(buf, size, buf, mysize);
 
-    Py_INCREF(self);
-    return (PyObject *)self;
+    return Py_NewRef(self);
 }
 
 static PyObject *
@@ -2477,8 +2474,7 @@ bytearray_iter(PyObject *seq)
     if (it == NULL)
         return NULL;
     it->it_index = 0;
-    Py_INCREF(seq);
-    it->it_seq = (PyByteArrayObject *)seq;
+    it->it_seq = (PyByteArrayObject *)Py_NewRef(seq);
     _PyObject_GC_TRACK(it);
     return (PyObject *)it;
 }
index 7f5a71ab43b3b60a18ad08d3f4c25fd95275f673..80117bfb203749a7259e0ae82009ae22901c54dd 100644 (file)
@@ -45,8 +45,7 @@ PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname
 
     PyThreadState *tstate = _PyThreadState_GET();
 
-    PyCodeObject *code_obj = (PyCodeObject *)code;
-    Py_INCREF(code_obj);
+    PyCodeObject *code_obj = (PyCodeObject *)Py_NewRef(code);
 
     PyObject *name = code_obj->co_name;
     assert(name != NULL);
index 3c510b5d1ac822848d70ebaed9a7a94dddced00d..e0646768384a88079179ad667e22f2a5316a028d 100644 (file)
@@ -1601,8 +1601,7 @@ set_isub(PySetObject *so, PyObject *other)
         Py_RETURN_NOTIMPLEMENTED;
     if (set_difference_update_internal(so, other))
         return NULL;
-    Py_INCREF(so);
-    return (PyObject *)so;
+    return Py_NewRef(so);
 }
 
 static PyObject *
@@ -1639,8 +1638,7 @@ set_symmetric_difference_update(PySetObject *so, PyObject *other)
     }
 
     if (PyAnySet_Check(other)) {
-        Py_INCREF(other);
-        otherset = (PySetObject *)other;
+        otherset = (PySetObject *)Py_NewRef(other);
     } else {
         otherset = (PySetObject *)make_new_set_basetype(Py_TYPE(so), other);
         if (otherset == NULL)
@@ -1715,8 +1713,7 @@ set_ixor(PySetObject *so, PyObject *other)
     if (result == NULL)
         return NULL;
     Py_DECREF(result);
-    Py_INCREF(so);
-    return (PyObject *)so;
+    return Py_NewRef(so);
 }
 
 static PyObject *