@@ -153,7 +153,8 @@ static void _CallPythonObject(void *mem,
153
153
int * space ;
154
154
PyGILState_STATE state = PyGILState_Ensure ();
155
155
156
- n_args = PySequence_Length (converters );
156
+ assert (PyTuple_Check (converters ));
157
+ n_args = PyTuple_GET_SIZE (converters );
157
158
/* Hm. What to return in case of error?
158
159
For COM, 0xFFFFFFFF seems better than 0.
159
160
*/
@@ -162,8 +163,8 @@ static void _CallPythonObject(void *mem,
162
163
goto Done ;
163
164
}
164
165
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 ) {
167
168
args = args_stack ;
168
169
}
169
170
else {
@@ -179,11 +180,6 @@ static void _CallPythonObject(void *mem,
179
180
PyObject * cnv = cnvs [i ];
180
181
StgDictObject * dict ;
181
182
182
- if (cnv == NULL ) {
183
- PrintError ("Getting argument converter %zd\n" , i );
184
- goto Done ;
185
- }
186
-
187
183
Py_INCREF (cnv );
188
184
dict = PyType_stgdict (cnv );
189
185
@@ -377,7 +373,8 @@ CThunkObject *_ctypes_alloc_callback(PyObject *callable,
377
373
Py_ssize_t nArgs , i ;
378
374
ffi_abi cc ;
379
375
380
- nArgs = PySequence_Size (converters );
376
+ assert (PyTuple_Check (converters ));
377
+ nArgs = PyTuple_GET_SIZE (converters );
381
378
p = CThunkObject_new (nArgs );
382
379
if (p == NULL )
383
380
return NULL ;
0 commit comments