367 static PyObject*
368 l_ldap_abandon_ext( LDAPObject* self, PyObject* args )
369 {
370 int msgid;
371 PyObject *serverctrls = Py_None;
372 PyObject *clientctrls = Py_None;
373 LDAPControl** server_ldcs = NULL;
374 LDAPControl** client_ldcs = NULL;
375
376 int ldaperror;
377
378 if (!PyArg_ParseTuple( args, "i|OO", &msgid, &serverctrls, &clientctrls)) return NULL;
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
379 if (not_valid(self)) return NULL;
when considering range: -0x80000000 <= value <= -1
taking True path
380
381 if (!PyNone_Check(serverctrls)) {
382 if (!LDAPControls_from_object(serverctrls, &server_ldcs))
383 return NULL;
384 }
385
386 if (!PyNone_Check(clientctrls)) {
387 if (!LDAPControls_from_object(clientctrls, &client_ldcs))
388 return NULL;
389 }
390
391 LDAP_BEGIN_ALLOW_THREADS( self );
392 ldaperror = ldap_abandon_ext( self->ldap, msgid, server_ldcs, client_ldcs );
393 LDAP_END_ALLOW_THREADS( self );
394
395 LDAPControl_List_DEL( server_ldcs );
396 LDAPControl_List_DEL( client_ldcs );
397
398 if ( ldaperror!=LDAP_SUCCESS )
399 return LDAPerror( self->ldap, "ldap_abandon_ext" );
400
401 Py_INCREF(Py_None);
402 return Py_None;
403 }
returning (PyObject*)NULL without setting an exception
found 4 similar trace(s) to this