/* Execute __del__ method, if any. */
del = _PyObject_LookupSpecial(self, &PyId___tp_del__);
if (del != NULL) {
- res = PyEval_CallObject(del, NULL);
+ res = _PyObject_CallNoArg(del);
if (res == NULL)
PyErr_WriteUnraisable(del);
else
_PyThreadState_Init(tstate);
PyEval_AcquireThread(tstate);
nb_threads++;
- res = PyEval_CallObjectWithKeywords(
- boot->func, boot->args, boot->keyw);
+ res = PyObject_Call(boot->func, boot->args, boot->keyw);
if (res == NULL) {
if (PyErr_ExceptionMatches(PyExc_SystemExit))
PyErr_Clear();
}
PyTuple_SET_ITEM(arg, i, s);
}
- res = PyEval_CallObject(func, arg);
+ res = PyObject_Call(func, arg, NULL);
Py_DECREF(arg);
if (res == NULL)
FileHandler(ClientData clientData, int mask)
{
FileHandler_ClientData *data = (FileHandler_ClientData *)clientData;
- PyObject *func, *file, *arg, *res;
+ PyObject *func, *file, *res;
ENTER_PYTHON
func = data->func;
file = data->file;
- arg = Py_BuildValue("(Oi)", file, (long) mask);
- res = PyEval_CallObject(func, arg);
- Py_DECREF(arg);
-
+ res = PyObject_CallFunction(func, "Oi", file, mask);
if (res == NULL) {
errorInCmd = 1;
PyErr_Fetch(&excInCmd, &valInCmd, &trbInCmd);
ENTER_PYTHON
- res = PyEval_CallObject(func, NULL);
+ res = _PyObject_CallNoArg(func);
Py_DECREF(func);
Py_DECREF(v); /* See Tktt_New() */
}
trunc_func = _PyObject_LookupSpecial(o, &PyId___trunc__);
if (trunc_func) {
- result = PyEval_CallObject(trunc_func, NULL);
+ result = _PyObject_CallNoArg(trunc_func);
Py_DECREF(trunc_func);
if (result == NULL || PyLong_CheckExact(result)) {
return result;
PyObject *
PyFile_GetLine(PyObject *f, int n)
{
+ _Py_IDENTIFIER(readline);
PyObject *result;
if (f == NULL) {
return NULL;
}
- {
- PyObject *reader;
- PyObject *args;
- _Py_IDENTIFIER(readline);
-
- reader = _PyObject_GetAttrId(f, &PyId_readline);
- if (reader == NULL)
- return NULL;
- if (n <= 0)
- args = PyTuple_New(0);
- else
- args = Py_BuildValue("(i)", n);
- if (args == NULL) {
- Py_DECREF(reader);
- return NULL;
- }
- result = PyEval_CallObject(reader, args);
- Py_DECREF(reader);
- Py_DECREF(args);
- if (result != NULL && !PyBytes_Check(result) &&
- !PyUnicode_Check(result)) {
- Py_DECREF(result);
- result = NULL;
- PyErr_SetString(PyExc_TypeError,
- "object.readline() returned non-string");
- }
+ if (n <= 0) {
+ result = _PyObject_CallMethodIdObjArgs(f, &PyId_readline, NULL);
+ }
+ else {
+ result = _PyObject_CallMethodId(f, &PyId_readline, "i", n);
+ }
+ if (result != NULL && !PyBytes_Check(result) &&
+ !PyUnicode_Check(result)) {
+ Py_DECREF(result);
+ result = NULL;
+ PyErr_SetString(PyExc_TypeError,
+ "object.readline() returned non-string");
}
if (n < 0 && result != NULL && PyBytes_Check(result)) {
}
else if ((meth = _PyObject_GetAttrId(o, &PyId_fileno)) != NULL)
{
- PyObject *fno = PyEval_CallObject(meth, NULL);
+ PyObject *fno = _PyObject_CallNoArg(meth);
Py_DECREF(meth);
if (fno == NULL)
return -1;
if (!copyreg)
return NULL;
- res = PyEval_CallMethod(copyreg, "_reduce_ex", "(Oi)", self, proto);
+ res = PyObject_CallMethod(copyreg, "_reduce_ex", "Oi", self, proto);
Py_DECREF(copyreg);
return res;
WRAP_BINARY(proxy_getattr, PyObject_GetAttr)
WRAP_UNARY(proxy_str, PyObject_Str)
-WRAP_TERNARY(proxy_call, PyEval_CallObjectWithKeywords)
+WRAP_TERNARY(proxy_call, PyObject_Call)
static PyObject *
proxy_repr(PyWeakReference *proxy)