Skip to content

Commit 9400f7d

Browse files
committed
Avoid calling missing _PyObject_MakeTpCall function
1 parent 0b80ee1 commit 9400f7d

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

graalpython/com.oracle.graal.python.cext/src/object.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ PyObject* PyObject_CallFunction(PyObject* callable, const char* fmt, ...) {
226226
PyObject* args;
227227

228228
if (fmt == NULL || fmt[0] == '\0') {
229-
return _PyObject_CallNoArg(callable);
229+
return PyObject_CallObject(callable, NULL);
230230
}
231231

232232
CALL_WITH_VARARGS(args, Py_BuildValue, 2, fmt);
@@ -245,7 +245,7 @@ PyObject* _PyObject_CallFunction_SizeT(PyObject* callable, const char* fmt, ...)
245245
PyObject* args;
246246

247247
if (fmt == NULL || fmt[0] == '\0') {
248-
return _PyObject_CallNoArg(callable);
248+
return PyObject_CallObject(callable, NULL);
249249
}
250250

251251
CALL_WITH_VARARGS(args, Py_BuildValue, 2, fmt);

graalpython/com.oracle.graal.python.test/src/tests/cpyext/test_functions.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,21 @@ def forgiving_len(o):
160160
lambda args: args[0](args[2], args[3]),
161161
lambda: (
162162
(sum, "Oi", [], 10),
163+
(sum, "Oi", [], 10),
163164
),
164165
arguments=["PyObject* callable", "const char* fmt", "PyObject* list", "int initial"],
165166
argspec="OsOi",
166167
)
168+
test_PyObject_CallFunction0 = CPyExtFunction(
169+
lambda args: args[0](),
170+
lambda: (
171+
(list, ""),
172+
(bool, ""),
173+
),
174+
arguments=["PyObject* callable", "const char* fmt"],
175+
argspec="Os",
176+
callfunction="PyObject_CallFunction",
177+
)
167178

168179
class MyObject():
169180

0 commit comments

Comments
 (0)