summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/pyexpat.c2
-rw-r--r--Objects/abstract.c4
-rw-r--r--Objects/iterobject.c7
-rw-r--r--Objects/typeobject.c19
-rw-r--r--Parser/tokenizer.c17
5 files changed, 37 insertions, 12 deletions
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index fc419b1..8b73e1e 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -829,7 +829,7 @@ readinst(char *buf, int buf_size, PyObject *meth)
PyTuple_SET_ITEM(arg, 0, bytes);
- if ((str = PyObject_CallObject(meth, arg)) == NULL)
+ if ((str = PyObject_Call(meth, arg, NULL)) == NULL)
goto finally;
/* XXX what to do if it returns a Unicode string? */
diff --git a/Objects/abstract.c b/Objects/abstract.c
index fc73a9f..9940fd3 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -1727,7 +1727,7 @@ PyObject_CallFunction(PyObject *callable, char *format, ...)
return NULL;
args = a;
}
- retval = PyObject_CallObject(callable, args);
+ retval = PyObject_Call(callable, args, NULL);
Py_DECREF(args);
@@ -1774,7 +1774,7 @@ PyObject_CallMethod(PyObject *o, char *name, char *format, ...)
args = a;
}
- retval = PyObject_CallObject(func, args);
+ retval = PyObject_Call(func, args, NULL);
Py_DECREF(args);
Py_DECREF(func);
diff --git a/Objects/iterobject.c b/Objects/iterobject.c
index 4dc225a..2e1caae 100644
--- a/Objects/iterobject.c
+++ b/Objects/iterobject.c
@@ -163,7 +163,12 @@ static PyObject *
calliter_iternext(calliterobject *it)
{
if (it->it_callable != NULL) {
- PyObject *result = PyObject_CallObject(it->it_callable, NULL);
+ PyObject *args = PyTuple_New(0);
+ PyObject *result;
+ if (args == NULL)
+ return NULL;
+ result = PyObject_Call(it->it_callable, args, NULL);
+ Py_DECREF(args);
if (result != NULL) {
int ok;
ok = PyObject_RichCompareBool(result,
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index c3c5893..a12e7df 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -3257,7 +3257,7 @@ SLOT0(slot_nb_absolute, "__abs__")
static int
slot_nb_nonzero(PyObject *self)
{
- PyObject *func, *res;
+ PyObject *func, *res, *args;
static PyObject *nonzero_str, *len_str;
func = lookup_maybe(self, "__nonzero__", &nonzero_str);
@@ -3272,7 +3272,11 @@ slot_nb_nonzero(PyObject *self)
return 1;
}
}
- res = PyObject_CallObject(func, NULL);
+ args = res = PyTuple_New(0);
+ if (args != NULL) {
+ res = PyObject_Call(func, args, NULL);
+ Py_DECREF(args);
+ }
Py_DECREF(func);
if (res == NULL)
return -1;
@@ -3651,9 +3655,14 @@ slot_tp_iter(PyObject *self)
func = lookup_method(self, "__iter__", &iter_str);
if (func != NULL) {
- res = PyObject_CallObject(func, NULL);
- Py_DECREF(func);
- return res;
+ PyObject *args;
+ args = res = PyTuple_New(0);
+ if (args != NULL) {
+ res = PyObject_Call(func, args, NULL);
+ Py_DECREF(args);
+ }
+ Py_DECREF(func);
+ return res;
}
PyErr_Clear();
func = lookup_method(self, "__getitem__", &getitem_str);
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 7e7a370..4119c43 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -327,12 +327,16 @@ fp_readl(char *s, int size, struct tok_state *tok)
#ifndef Py_USING_UNICODE
/* In a non-Unicode built, this should never be called. */
Py_FatalError("fp_readl should not be called in this build.");
- return NULL;
+ return NULL; /* Keep compiler happy (not reachable) */
#else
PyObject* utf8;
PyObject* buf = tok->decoding_buffer;
if (buf == NULL) {
- buf = PyObject_CallObject(tok->decoding_readline, NULL);
+ PyObject *args = PyTuple_New(0);
+ if (args == NULL)
+ return error_ret(tok);
+ buf = PyObject_Call(tok->decoding_readline, args, NULL);
+ Py_DECREF(args);
if (buf == NULL)
return error_ret(tok);
} else {
@@ -464,7 +468,14 @@ decoding_feof(struct tok_state *tok)
} else {
PyObject* buf = tok->decoding_buffer;
if (buf == NULL) {
- buf = PyObject_CallObject(tok->decoding_readline, NULL);
+ PyObject *args = PyTuple_New(0);
+ if (args == NULL) {
+ error_ret(tok);
+ return 1;
+ }
+ buf = PyObject_Call(tok->decoding_readline,
+ args, NULL);
+ Py_DECREF(args);
if (buf == NULL) {
error_ret(tok);
return 1;