Avoid duplicated code:
* PyObject_Init() uses PyObject_INIT()
* PyObject_InitVar() uses PyObject_INIT_VAR()
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 *
return (PyVarObject *) PyErr_NoMemory();
}
- Py_SET_SIZE(op, size);
- PyObject_Init((PyObject *)op, tp);
- return op;
+ return PyObject_INIT_VAR(op, tp, size);
}
PyObject *