bpo-39873: PyObject_Init() uses PyObject_INIT() (GH-18804)
Avoid duplicated code:
* PyObject_Init() uses PyObject_INIT()
* PyObject_InitVar() uses PyObject_INIT_VAR()
diff --git a/Objects/object.c b/Objects/object.c
index 9c74e07..707424c 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -144,12 +144,7 @@
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 @@
return (PyVarObject *) PyErr_NoMemory();
}
- Py_SET_SIZE(op, size);
- PyObject_Init((PyObject *)op, tp);
- return op;
+ return PyObject_INIT_VAR(op, tp, size);
}
PyObject *