Skip to content

Commit 4b18483

Browse files
committed
bpo-46323 Address code review
1 parent afd67eb commit 4b18483

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

Modules/_ctypes/callbacks.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,8 @@ static void _CallPythonObject(void *mem,
153153
int *space;
154154
PyGILState_STATE state = PyGILState_Ensure();
155155

156-
n_args = PySequence_Length(converters);
156+
assert(PyTuple_Check(converters));
157+
n_args = PyTuple_GET_SIZE(converters);
157158
/* Hm. What to return in case of error?
158159
For COM, 0xFFFFFFFF seems better than 0.
159160
*/
@@ -162,8 +163,8 @@ static void _CallPythonObject(void *mem,
162163
goto Done;
163164
}
164165

165-
PyObject *args_stack[_PY_FASTCALL_SMALL_STACK];
166-
if (n_args <= (Py_ssize_t)Py_ARRAY_LENGTH(args_stack)) {
166+
PyObject *args_stack[CTYPES_MAX_ARGCOUNT];
167+
if (n_args <= CTYPES_MAX_ARGCOUNT) {
167168
args = args_stack;
168169
}
169170
else {
@@ -179,11 +180,6 @@ static void _CallPythonObject(void *mem,
179180
PyObject *cnv = cnvs[i];
180181
StgDictObject *dict;
181182

182-
if (cnv == NULL) {
183-
PrintError("Getting argument converter %zd\n", i);
184-
goto Done;
185-
}
186-
187183
Py_INCREF(cnv);
188184
dict = PyType_stgdict(cnv);
189185

@@ -377,7 +373,8 @@ CThunkObject *_ctypes_alloc_callback(PyObject *callable,
377373
Py_ssize_t nArgs, i;
378374
ffi_abi cc;
379375

380-
nArgs = PySequence_Size(converters);
376+
assert(PyTuple_Check(converters));
377+
nArgs = PyTuple_GET_SIZE(converters);
381378
p = CThunkObject_new(nArgs);
382379
if (p == NULL)
383380
return NULL;

0 commit comments

Comments
 (0)