+2014-05-23 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (ldap_memfreeW): Remove.
+ (ldap_msgfree): Import.
+ * ldap.cc: Throughout, use ldap_msgfree to free LDAPMessage memory,
+ rather than ldap_memfreeW.
+ (cyg_ldap::next_account): Immediately abandon search when quiting from
+ search.
+
2014-05-22 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (ldap_abandon): Remove.
LoadDLLfunc (ldap_get_valuesW, 0, wldap32)
LoadDLLfunc (ldap_get_values_lenW, 0, wldap32)
LoadDLLfunc (ldap_initW, 0, wldap32)
-LoadDLLfunc (ldap_memfreeW, 0, wldap32)
+LoadDLLfunc (ldap_msgfree, 0, wldap32)
LoadDLLfunc (ldap_next_entry, 0, wldap32)
LoadDLLfunc (ldap_search_abandon_page, 0, wldap32)
LoadDLLfunc (ldap_search_init_pageW, 0, wldap32)
}
ldap_value_freeW (val);
val = NULL;
- ldap_memfreeW ((PWCHAR) msg);
+ ldap_msgfree (msg);
msg = entry = NULL; return true;
err:
close ();
if (lh)
ldap_unbind (lh);
if (srch_msg)
- ldap_memfreeW ((PWCHAR) srch_msg);
+ ldap_msgfree (srch_msg);
if (msg)
- ldap_memfreeW ((PWCHAR) msg);
+ ldap_msgfree (msg);
if (val)
ldap_value_freeW (val);
if (rootdse)
if (msg)
{
- ldap_memfreeW ((PWCHAR) msg);
+ ldap_msgfree (msg);
msg = entry = NULL;
}
if (val)
ldap_value_free_len (bval);
return true;
}
- ldap_memfreeW ((PWCHAR) srch_msg);
+ ldap_msgfree (srch_msg);
srch_msg = srch_entry = NULL;
}
do
}
while (ret == LDAP_SUCCESS && ldap_count_entries (lh, srch_msg) == 0);
if (ret == LDAP_NO_RESULTS_RETURNED)
- return false;
- if (ret != LDAP_SUCCESS)
- {
- debug_printf ("ldap_result() error 0x%02x", ret);
- return false;
- }
- if ((srch_entry = ldap_first_entry (lh, srch_msg))
- && (bval = ldap_get_values_lenW (lh, srch_entry, sid_attr[0])))
+ ;
+ else if (ret != LDAP_SUCCESS)
+ debug_printf ("ldap_result() error 0x%02x", ret);
+ else if ((srch_entry = ldap_first_entry (lh, srch_msg))
+ && (bval = ldap_get_values_lenW (lh, srch_entry, sid_attr[0])))
{
sid = (PSID) bval[0]->bv_val;
ldap_value_free_len (bval);
return true;
}
+ ldap_search_abandon_page (lh, srch_id);
+ srch_id = NULL;
return false;
}
if (msg)
{
- ldap_memfreeW ((PWCHAR) msg);
+ ldap_msgfree (msg);
msg = entry = NULL;
}
if (val)
if (msg)
{
- ldap_memfreeW ((PWCHAR) msg);
+ ldap_msgfree (msg);
msg = entry = NULL;
}
if (group)
if (msg)
{
- ldap_memfreeW ((PWCHAR) msg);
+ ldap_msgfree (msg);
msg = entry = NULL;
}
if (val)