697 static PyObject*
698 l_ldap_cancel( LDAPObject* self, PyObject* args )
699 {
700 int msgid;
701 int cancelid;
702 PyObject *serverctrls = Py_None;
703 PyObject *clientctrls = Py_None;
704 LDAPControl** server_ldcs = NULL;
705 LDAPControl** client_ldcs = NULL;
706
707 int ldaperror;
708
709 if (!PyArg_ParseTuple( args, "i|OO", &cancelid, &serverctrls, &clientctrls)) return NULL;
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
710 if (not_valid(self)) return NULL;
when considering value == (int)0 from Modules/LDAPObject.c:710
taking False path
711
712 if (!PyNone_Check(serverctrls)) {
taking True path
713 if (!LDAPControls_from_object(serverctrls, &server_ldcs))
when considering range: 1 <= value <= 0x7fffffff
taking False path
714 return NULL;
715 }
716
717 if (!PyNone_Check(clientctrls)) {
taking True path
718 if (!LDAPControls_from_object(clientctrls, &client_ldcs))
when considering value == (int)0 from Modules/LDAPObject.c:718
taking True path
719 return NULL;
720 }
721
722 LDAP_BEGIN_ALLOW_THREADS( self );
723 ldaperror = ldap_cancel( self->ldap, cancelid, server_ldcs, client_ldcs, &msgid );
724 LDAP_END_ALLOW_THREADS( self );
725
726 LDAPControl_List_DEL( server_ldcs );
727 LDAPControl_List_DEL( client_ldcs );
728
729 if ( ldaperror!=LDAP_SUCCESS )
730 return LDAPerror( self->ldap, "ldap_cancel" );
731
732 return PyInt_FromLong( msgid );
733 }
returning (PyObject*)NULL without setting an exception
found 3 similar trace(s) to this