Dmitry Timoshkov : wldap32: Implement ldap_search_abandon_page.
Alexandre Julliard
julliard at winehq.org
Fri Apr 17 16:12:57 CDT 2020
Module: wine
Branch: master
Commit: 35b7856d50ad96cd21ae22e7473f3656ded3cede
URL: https://source.winehq.org/git/wine.git/?a=commit;h=35b7856d50ad96cd21ae22e7473f3656ded3cede
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Fri Apr 17 17:11:57 2020 +0800
wldap32: Implement ldap_search_abandon_page.
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wldap32/page.c | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/dlls/wldap32/page.c b/dlls/wldap32/page.c
index d2d86e34af..09ca19c6c3 100644
--- a/dlls/wldap32/page.c
+++ b/dlls/wldap32/page.c
@@ -262,10 +262,31 @@ ULONG CDECL ldap_parse_page_controlW( WLDAP32_LDAP *ld, PLDAPControlW *ctrls,
ULONG CDECL ldap_search_abandon_page( WLDAP32_LDAP *ld, PLDAPSearch search )
{
- FIXME( "(%p, %p)\n", ld, search );
+#ifdef HAVE_LDAP
+ LDAPControlW **ctrls;
+
+ TRACE( "(%p, %p)\n", ld, search );
+
+ if (!ld || !search) return ~0u;
+
+ strfreeW( search->dn );
+ strfreeW( search->filter );
+ strarrayfreeW( search->attrs );
+ ctrls = search->serverctrls;
+ controlfreeW( ctrls[0] ); /* page control */
+ ctrls++;
+ while (*ctrls) controlfreeW( *ctrls++ );
+ heap_free( search->serverctrls );
+ controlarrayfreeW( search->clientctrls );
+ if (search->cookie)
+ ber_bvfree( search->cookie );
+ heap_free( search );
- if (!ld) return ~0u;
return WLDAP32_LDAP_SUCCESS;
+
+#else
+ return WLDAP32_LDAP_NOT_SUPPORTED;
+#endif
}
PLDAPSearch CDECL ldap_search_init_pageA( WLDAP32_LDAP *ld, PCHAR dn, ULONG scope,
More information about the wine-cvs
mailing list