@@ -146,34 +146,34 @@ static void _CallPythonObject(void *mem,
146
146
int flags ,
147
147
void * * pArgs )
148
148
{
149
- PyObject * result ;
149
+ PyObject * result = NULL ;
150
150
PyObject * * args = NULL ;
151
- Py_ssize_t nArgs ;
151
+ Py_ssize_t i = 0 , j = 0 , n_args = 0 ;
152
152
PyObject * error_object = NULL ;
153
153
int * space ;
154
154
PyGILState_STATE state = PyGILState_Ensure ();
155
155
156
- nArgs = PySequence_Length (converters );
156
+ n_args = PySequence_Length (converters );
157
157
/* Hm. What to return in case of error?
158
158
For COM, 0xFFFFFFFF seems better than 0.
159
159
*/
160
- if (nArgs < 0 ) {
160
+ if (n_args < 0 ) {
161
161
PrintError ("BUG: PySequence_Length" );
162
162
goto Done ;
163
163
}
164
164
165
165
PyObject * args_stack [_PY_FASTCALL_SMALL_STACK ];
166
- if (nArgs <= (Py_ssize_t )Py_ARRAY_LENGTH (args_stack )) {
166
+ if (n_args <= (Py_ssize_t )Py_ARRAY_LENGTH (args_stack )) {
167
167
args = args_stack ;
168
168
}
169
169
else {
170
- args = PyMem_Malloc (nArgs * sizeof (PyObject * ));
170
+ args = PyMem_Malloc (n_args * sizeof (PyObject * ));
171
171
if (args == NULL ) {
172
172
PyErr_NoMemory ();
173
173
goto Done ;
174
174
}
175
175
}
176
- for (Py_ssize_t i = 0 ; i < nArgs ; ++ i ) {
176
+ for (i = 0 ; i < n_args ; i ++ ) {
177
177
/* Note: new reference! */
178
178
PyObject * cnv = PySequence_GetItem (converters , i );
179
179
StgDictObject * dict ;
@@ -246,7 +246,7 @@ static void _CallPythonObject(void *mem,
246
246
#endif
247
247
}
248
248
249
- result = PyObject_Vectorcall (callable , args , nArgs , NULL );
249
+ result = PyObject_Vectorcall (callable , args , n_args , NULL );
250
250
if (result == NULL ) {
251
251
_PyErr_WriteUnraisableMsg ("on calling ctypes callback function" ,
252
252
callable );
@@ -313,8 +313,8 @@ static void _CallPythonObject(void *mem,
313
313
Py_XDECREF (result );
314
314
315
315
Done :
316
- for (Py_ssize_t i = 0 ; i < nArgs ; i ++ ) {
317
- Py_XDECREF (args [i ]);
316
+ for (j = 0 ; j < i ; j ++ ) {
317
+ Py_DECREF (args [j ]);
318
318
}
319
319
if (args != args_stack ) {
320
320
PyMem_Free (args );
0 commit comments