Module: wine Branch: oldstable Commit: 65cd882ae0503c0b3f92f3315a1ab1026365593d URL: https://gitlab.winehq.org/wine/wine/-/commit/65cd882ae0503c0b3f92f3315a1ab10...
Author: Eric Pouech eric.pouech@gmail.com Date: Fri Feb 4 09:34:49 2022 +0100
wldap32: Fix compilation in 32-bit.
32-bit compilation has been broken by 8db1662d749991a77b8945c752ab024d2d6b1244.
Signed-off-by: Eric Pouech eric.pouech@gmail.com Signed-off-by: Hans Leidekker hans@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org (cherry picked from commit 25946b48148784e8275c1685f6498ab88f553ca3) Signed-off-by: Michael Stefaniuc mstefani@winehq.org
---
dlls/wldap32/libldap.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/dlls/wldap32/libldap.c b/dlls/wldap32/libldap.c index 8872421dabc..592e526ecdc 100644 --- a/dlls/wldap32/libldap.c +++ b/dlls/wldap32/libldap.c @@ -53,7 +53,14 @@ C_ASSERT( sizeof(LDAPSortKeyU) == sizeof(LDAPSortKey) ); C_ASSERT( sizeof(LDAPVLVInfoU) == sizeof(LDAPVLVInfo) ); C_ASSERT( sizeof(LDAPAPIInfoU) == sizeof(LDAPAPIInfo) ); C_ASSERT( sizeof(LDAPAPIFeatureInfoU) == sizeof(LDAPAPIFeatureInfo) ); -C_ASSERT( sizeof(struct timevalU) == sizeof(struct timeval) ); + +static struct timeval *convert_timeval(const struct timevalU *tvu, struct timeval *tv) +{ + if (!tvu) return NULL; + tv->tv_sec = tvu->tv_sec; + tv->tv_usec = tvu->tv_usec; + return tv; +}
#define WLDAP32_LBER_ERROR (~0l)
@@ -488,8 +495,9 @@ static NTSTATUS wrap_ldap_rename_s( void *args ) static NTSTATUS wrap_ldap_result( void *args ) { struct ldap_result_params *params = args; + struct timeval tv; return ldap_result( params->ld, params->msgid, params->all, - (struct timeval *)params->timeout, (LDAPMessage **)params->result ); + convert_timeval(params->timeout, &tv), (LDAPMessage **)params->result ); }
static NTSTATUS wrap_ldap_sasl_bind( void *args ) @@ -555,18 +563,20 @@ static NTSTATUS wrap_ldap_sasl_interactive_bind_s( void *args ) static NTSTATUS wrap_ldap_search_ext( void *args ) { struct ldap_search_ext_params *params = args; + struct timeval tv; return ldap_search_ext( params->ld, params->base, params->scope, params->filter, params->attrs, params->attrsonly, (LDAPControl **)params->serverctrls, - (LDAPControl **)params->clientctrls, (struct timeval *)params->timeout, + (LDAPControl **)params->clientctrls, convert_timeval(params->timeout, &tv), params->sizelimit, (int *)params->msg ); }
static NTSTATUS wrap_ldap_search_ext_s( void *args ) { struct ldap_search_ext_s_params *params = args; + struct timeval tv; return ldap_search_ext_s( params->ld, params->base, params->scope, params->filter, params->attrs, params->attrsonly, (LDAPControl **)params->serverctrls, - (LDAPControl **)params->clientctrls, (struct timeval *)params->timeout, + (LDAPControl **)params->clientctrls, convert_timeval(params->timeout, &tv), params->sizelimit, (LDAPMessage **)params->result ); }