]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-39873: PyObject_Init() uses PyObject_INIT() (GH-18804)
authorVictor Stinner <vstinner@python.org>
Fri, 6 Mar 2020 14:55:14 +0000 (15:55 +0100)
committerGitHub <noreply@github.com>
Fri, 6 Mar 2020 14:55:14 +0000 (15:55 +0100)
Avoid duplicated code:

* PyObject_Init() uses PyObject_INIT()
* PyObject_InitVar() uses PyObject_INIT_VAR()

Objects/object.c

index 9c74e07eddcb14427caaf80c8a87e98878229428..707424c98fe7d72bb27d148f4496b1e343058597 100644 (file)
@@ -144,12 +144,7 @@ PyObject_Init(PyObject *op, PyTypeObject *tp)
         return PyErr_NoMemory();
     }
 
-    Py_SET_TYPE(op, tp);
-    if (PyType_GetFlags(tp) & Py_TPFLAGS_HEAPTYPE) {
-        Py_INCREF(tp);
-    }
-    _Py_NewReference(op);
-    return op;
+    return PyObject_INIT(op, tp);
 }
 
 PyVarObject *
@@ -160,9 +155,7 @@ PyObject_InitVar(PyVarObject *op, PyTypeObject *tp, Py_ssize_t size)
         return (PyVarObject *) PyErr_NoMemory();
     }
 
-    Py_SET_SIZE(op, size);
-    PyObject_Init((PyObject *)op, tp);
-    return op;
+    return PyObject_INIT_VAR(op, tp, size);
 }
 
 PyObject *