*** LDAPObject.c-orig Mon May 3 13:41:26 2004 --- LDAPObject.c Mon May 3 15:37:15 2004 *************** *** 730,735 **** --- 730,736 ---- int res_type; LDAPMessage *msg = NULL; PyObject *result_str, *retval, *pmsg; + int res_msgid = 0; if (!PyArg_ParseTuple( args, "|iid", &msgid, &all, &timeout )) return NULL; *************** *** 750,762 **** return LDAPerror( self->ldap, "ldap_result" ); if (res_type == 0) { ! /* Polls return (None, None); timeouts raise an exception */ if (timeout == 0) ! return Py_BuildValue("(OO)", Py_None, Py_None); else return LDAPerr(LDAP_TIMEOUT); } if (res_type == LDAP_RES_SEARCH_ENTRY || res_type == LDAP_RES_SEARCH_REFERENCE ) --- 751,766 ---- return LDAPerror( self->ldap, "ldap_result" ); if (res_type == 0) { ! /* Polls return (None, None, None); timeouts raise an exception */ if (timeout == 0) ! return Py_BuildValue("(OOO)", Py_None, Py_None, Py_None); else return LDAPerr(LDAP_TIMEOUT); } + if (msg) + res_msgid = ldap_msgid(msg); + if (res_type == LDAP_RES_SEARCH_ENTRY || res_type == LDAP_RES_SEARCH_REFERENCE ) *************** *** 785,791 **** if (pmsg == NULL) { retval = NULL; } else { ! retval = Py_BuildValue("(OO)", result_str, pmsg); if (pmsg != Py_None) { Py_DECREF(pmsg); } --- 789,795 ---- if (pmsg == NULL) { retval = NULL; } else { ! retval = Py_BuildValue("(OOi)", result_str, pmsg, res_msgid); if (pmsg != Py_None) { Py_DECREF(pmsg); }