[Python-checkins] bpo-39873: PyObject_Init() uses PyObject_INIT() (GH-18804)

Victor Stinner webhook-mailer at python.org
Fri Mar 6 09:55:36 EST 2020


https://github.com/python/cpython/commit/1fb5a9f394a6fdf62e21b96080c3257c959cf8c9
commit: 1fb5a9f394a6fdf62e21b96080c3257c959cf8c9
branch: master
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-03-06T15:55:14+01:00
summary:

bpo-39873: PyObject_Init() uses PyObject_INIT() (GH-18804)

Avoid duplicated code:

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

files:
M Objects/object.c

diff --git a/Objects/object.c b/Objects/object.c
index 9c74e07eddcb1..707424c98fe7d 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -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 *



More information about the Python-checkins mailing list