[PATCH 0/2] MR2443: include: Fix constness of arguments to LDAP functions and annotate with __WINE_(DEALLOC|MALLOC).
I need the header to be correct before I start writing tests. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2443
From: Alex Henrie <alexhenrie24(a)gmail.com> --- include/winldap.h | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/include/winldap.h b/include/winldap.h index 5e744b25baf..0b4037f133e 100644 --- a/include/winldap.h +++ b/include/winldap.h @@ -396,6 +396,14 @@ DECL_WINELIB_TYPE_AW(LDAPAPIFeatureInfo) extern "C" { #endif +void CDECL ldap_memfreeA(char*); +void CDECL ldap_memfreeW(WCHAR*); +#define ldap_memfree WINELIB_NAME_AW(ldap_memfree) +ULONG CDECL ldap_value_freeA(char**); +ULONG CDECL ldap_value_freeW(WCHAR**); +#define ldap_value_free WINELIB_NAME_AW(ldap_value_free) +ULONG CDECL ldap_value_free_len(struct berval**); + LDAP * CDECL cldap_openA(PCHAR,ULONG); LDAP * CDECL cldap_openW(PWCHAR,ULONG); #define cldap_open WINELIB_NAME_AW(cldap_open) @@ -470,8 +478,8 @@ ULONG CDECL ldap_delete_ext_sW(LDAP*,PWCHAR,PLDAPControlW*,PLDAPControlW*); ULONG CDECL ldap_delete_sA(LDAP*,PCHAR); ULONG CDECL ldap_delete_sW(LDAP*,PWCHAR); #define ldap_delete_s WINELIB_NAME_AW(ldap_delete_s) -PCHAR CDECL ldap_dn2ufnA(PCHAR); -PWCHAR CDECL ldap_dn2ufnW(PWCHAR); +char* CDECL ldap_dn2ufnA(char*) __WINE_DEALLOC(ldap_memfreeA) __WINE_MALLOC; +WCHAR* CDECL ldap_dn2ufnW(WCHAR*) __WINE_DEALLOC(ldap_memfreeW) __WINE_MALLOC; #define ldap_dn2ufn WINELIB_NAME_AW(ldap_dn2ufn) ULONG CDECL ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN); ULONG CDECL ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN); @@ -482,8 +490,8 @@ PWCHAR CDECL ldap_err2stringW(ULONG); ULONG CDECL ldap_escape_filter_elementA(PCHAR,ULONG,PCHAR,ULONG); ULONG CDECL ldap_escape_filter_elementW(PCHAR,ULONG,PWCHAR,ULONG); #define ldap_escape_filter_element WINELIB_NAME_AW(ldap_escape_filter_element) -PCHAR* CDECL ldap_explode_dnA(PCHAR,ULONG); -PWCHAR* CDECL ldap_explode_dnW(PWCHAR,ULONG); +char** CDECL ldap_explode_dnA(char*,ULONG) __WINE_DEALLOC(ldap_value_freeA); +WCHAR** CDECL ldap_explode_dnW(WCHAR*,ULONG) __WINE_DEALLOC(ldap_value_freeW); #define ldap_explode_dn WINELIB_NAME_AW(ldap_explode_dn) ULONG CDECL ldap_extended_operationA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*); ULONG CDECL ldap_extended_operationW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*); @@ -508,18 +516,17 @@ ULONG CDECL ldap_get_optionA(LDAP*,int,void*); ULONG CDECL ldap_get_optionW(LDAP*,int,void*); #define ldap_get_option WINELIB_NAME_AW(ldap_get_option) ULONG CDECL ldap_get_paged_count(LDAP*,PLDAPSearch,ULONG*,LDAPMessage*); -PCHAR* CDECL ldap_get_valuesA(LDAP*,LDAPMessage*,PCHAR); -PWCHAR* CDECL ldap_get_valuesW(LDAP*,LDAPMessage*,PWCHAR); +char** CDECL ldap_get_valuesA(LDAP*,LDAPMessage*,char*) __WINE_DEALLOC(ldap_value_freeA); +WCHAR** CDECL ldap_get_valuesW(LDAP*,LDAPMessage*,WCHAR*) __WINE_DEALLOC(ldap_value_freeW); #define ldap_get_values WINELIB_NAME_AW(ldap_get_values) -struct berval ** CDECL ldap_get_values_lenA(LDAP*,LDAPMessage*,PCHAR); -struct berval ** CDECL ldap_get_values_lenW(LDAP*,LDAPMessage*,PWCHAR); +struct berval ** CDECL ldap_get_values_lenA(LDAP*,LDAPMessage*,char*) + __WINE_DEALLOC(ldap_value_free_len); +struct berval ** CDECL ldap_get_values_lenW(LDAP*,LDAPMessage*,WCHAR*) + __WINE_DEALLOC(ldap_value_free_len); #define ldap_get_values_len WINELIB_NAME_AW(ldap_get_values_len) LDAP* CDECL ldap_initA(const PCHAR,ULONG); LDAP* CDECL ldap_initW(const PWCHAR,ULONG); #define ldap_init WINELIB_NAME_AW(ldap_init) -VOID CDECL ldap_memfreeA(PCHAR); -VOID CDECL ldap_memfreeW(PWCHAR); -#define ldap_memfree WINELIB_NAME_AW(ldap_memfree) ULONG CDECL ldap_modifyA(LDAP*,PCHAR,LDAPModA*[]); ULONG CDECL ldap_modifyW(LDAP*,PWCHAR,LDAPModW*[]); #define ldap_modify WINELIB_NAME_AW(ldap_modify) @@ -635,10 +642,6 @@ ULONG CDECL ldap_ufn2dnW(PWCHAR,PWCHAR*); #define ldap_ufn2dn WINELIB_NAME_AW(ldap_ufn2dn) ULONG CDECL ldap_unbind(LDAP*); ULONG CDECL ldap_unbind_s(LDAP*); -ULONG CDECL ldap_value_freeA(PCHAR*); -ULONG CDECL ldap_value_freeW(PWCHAR*); -#define ldap_value_free WINELIB_NAME_AW(ldap_value_free) -ULONG CDECL ldap_value_free_len(struct berval**); void CDECL ber_bvfree(BERVAL*); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2443
From: Alex Henrie <alexhenrie24(a)gmail.com> --- include/winldap.h | 154 ++++++++++++++++++++++++---------------------- 1 file changed, 82 insertions(+), 72 deletions(-) diff --git a/include/winldap.h b/include/winldap.h index 0b4037f133e..d26605cf6d9 100644 --- a/include/winldap.h +++ b/include/winldap.h @@ -411,20 +411,20 @@ ULONG CDECL ldap_abandon(LDAP*,ULONG); ULONG CDECL ldap_addA(LDAP*,PCHAR,LDAPModA*[]); ULONG CDECL ldap_addW(LDAP*,PWCHAR,LDAPModW*[]); #define ldap_add WINELIB_NAME_AW(ldap_add) -ULONG CDECL ldap_add_extA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_add_extW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_add_extA(LDAP*,const char*,LDAPModA**,LDAPControlA**,LDAPControlA**,ULONG*); +ULONG CDECL ldap_add_extW(LDAP*,const WCHAR*,LDAPModW**,LDAPControlW**,LDAPControlW**,ULONG*); #define ldap_add_ext WINELIB_NAME_AW(ldap_add_ext) -ULONG CDECL ldap_add_ext_sA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*); -ULONG CDECL ldap_add_ext_sW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*); +ULONG CDECL ldap_add_ext_sA(LDAP*,const char*,LDAPModA**,LDAPControlA**,LDAPControlA**); +ULONG CDECL ldap_add_ext_sW(LDAP*,const WCHAR*,LDAPModW**,LDAPControlW**,LDAPControlW**); #define ldap_add_ext_s WINELIB_NAME_AW(ldap_add_ext_s) ULONG CDECL ldap_add_sA(LDAP*,PCHAR,LDAPModA*[]); ULONG CDECL ldap_add_sW(LDAP*,PWCHAR,LDAPModW*[]); #define ldap_add_s WINELIB_NAME_AW(ldap_add_s) -ULONG CDECL ldap_bindA(LDAP*,PCHAR,PCHAR,ULONG); -ULONG CDECL ldap_bindW(LDAP*,PWCHAR,PWCHAR,ULONG); +ULONG CDECL ldap_bindA(LDAP*,const char*,const char*,ULONG); +ULONG CDECL ldap_bindW(LDAP*,const WCHAR*,const WCHAR*,ULONG); #define ldap_bind WINELIB_NAME_AW(ldap_bind) -ULONG CDECL ldap_bind_sA(LDAP*,PCHAR,PCHAR,ULONG); -ULONG CDECL ldap_bind_sW(LDAP*,PWCHAR,PWCHAR,ULONG); +ULONG CDECL ldap_bind_sA(LDAP*,const char*,const char*,ULONG); +ULONG CDECL ldap_bind_sW(LDAP*,const WCHAR*,const WCHAR*,ULONG); #define ldap_bind_s WINELIB_NAME_AW(ldap_bind_s) ULONG CDECL ldap_check_filterA(LDAP*,PCHAR); ULONG CDECL ldap_check_filterW(LDAP*,PWCHAR); @@ -432,17 +432,21 @@ ULONG CDECL ldap_check_filterW(LDAP*,PWCHAR); ULONG CDECL ldap_cleanup(HANDLE); ULONG CDECL ldap_close_extended_op(LDAP*,ULONG); LDAP* CDECL ldap_conn_from_msg(LDAP*,LDAPMessage*); -ULONG CDECL ldap_compareA(LDAP*,PCHAR,PCHAR,PCHAR); -ULONG CDECL ldap_compareW(LDAP*,PWCHAR,PWCHAR,PWCHAR); +ULONG CDECL ldap_compareA(LDAP*,const char*,const char*,char*); +ULONG CDECL ldap_compareW(LDAP*,const WCHAR*,const WCHAR*,WCHAR*); #define ldap_compare WINELIB_NAME_AW(ldap_compare) -ULONG CDECL ldap_compare_extA(LDAP*,PCHAR,PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_compare_extW(LDAP*,PWCHAR,PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_compare_extA(LDAP*,const char*,const char*,const char*,struct berval*, + LDAPControlA**,LDAPControlA**,ULONG*); +ULONG CDECL ldap_compare_extW(LDAP*,const WCHAR*,const WCHAR*,const WCHAR*,struct berval*, + LDAPControlW**,LDAPControlW**,ULONG*); #define ldap_compare_ext WINELIB_NAME_AW(ldap_compare_ext) -ULONG CDECL ldap_compare_ext_sA(LDAP*,PCHAR,PCHAR,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*); -ULONG CDECL ldap_compare_ext_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*); +ULONG CDECL ldap_compare_ext_sA(LDAP*,const char*,const char*,const char*,struct berval*, + LDAPControlA**,LDAPControlA**); +ULONG CDECL ldap_compare_ext_sW(LDAP*,const WCHAR*,const WCHAR*,const WCHAR*,struct berval*, + LDAPControlW**,LDAPControlW**); #define ldap_compare_ext_s WINELIB_NAME_AW(ldap_compare_ext_s) -ULONG CDECL ldap_compare_sA(LDAP*,PCHAR,PCHAR,PCHAR); -ULONG CDECL ldap_compare_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR); +ULONG CDECL ldap_compare_sA(LDAP*,const char*,const char*,char*); +ULONG CDECL ldap_compare_sW(LDAP*,const WCHAR*,const WCHAR*,WCHAR*); #define ldap_compare_s WINELIB_NAME_AW(ldap_compare_s) ULONG CDECL ldap_connect(LDAP*,struct l_timeval*); ULONG CDECL ldap_control_freeA(LDAPControlA*); @@ -466,20 +470,20 @@ ULONG CDECL ldap_create_sort_controlW(PLDAP,PLDAPSortKeyW*,UCHAR,PLDAPControlW*) INT CDECL ldap_create_vlv_controlA(PLDAP,PLDAPVLVInfo,UCHAR,PLDAPControlA*); INT CDECL ldap_create_vlv_controlW(PLDAP,PLDAPVLVInfo,UCHAR,PLDAPControlW*); #define ldap_create_vlv_control WINELIB_NAME_AW(ldap_create_vlv_control) -ULONG CDECL ldap_deleteA(LDAP*,PCHAR); -ULONG CDECL ldap_deleteW(LDAP*,PWCHAR); +ULONG CDECL ldap_deleteA(LDAP*,const char*); +ULONG CDECL ldap_deleteW(LDAP*,const WCHAR*); #define ldap_delete WINELIB_NAME_AW(ldap_delete) -ULONG CDECL ldap_delete_extA(LDAP*,PCHAR,PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_delete_extW(LDAP*,PWCHAR,PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_delete_extA(LDAP*,const char*,LDAPControlA**,LDAPControlA**,ULONG*); +ULONG CDECL ldap_delete_extW(LDAP*,const WCHAR*,LDAPControlW**,LDAPControlW**,ULONG*); #define ldap_delete_ext WINELIB_NAME_AW(ldap_delete_ext) -ULONG CDECL ldap_delete_ext_sA(LDAP*,PCHAR,PLDAPControlA*,PLDAPControlA*); -ULONG CDECL ldap_delete_ext_sW(LDAP*,PWCHAR,PLDAPControlW*,PLDAPControlW*); +ULONG CDECL ldap_delete_ext_sA(LDAP*,const char*,LDAPControlA**,LDAPControlA**); +ULONG CDECL ldap_delete_ext_sW(LDAP*,const WCHAR*,LDAPControlW**,LDAPControlW**); #define ldap_delete_ext_s WINELIB_NAME_AW(ldap_delete_ext_s) -ULONG CDECL ldap_delete_sA(LDAP*,PCHAR); -ULONG CDECL ldap_delete_sW(LDAP*,PWCHAR); +ULONG CDECL ldap_delete_sA(LDAP*,const char*); +ULONG CDECL ldap_delete_sW(LDAP*,const WCHAR*); #define ldap_delete_s WINELIB_NAME_AW(ldap_delete_s) -char* CDECL ldap_dn2ufnA(char*) __WINE_DEALLOC(ldap_memfreeA) __WINE_MALLOC; -WCHAR* CDECL ldap_dn2ufnW(WCHAR*) __WINE_DEALLOC(ldap_memfreeW) __WINE_MALLOC; +char* CDECL ldap_dn2ufnA(const char*) __WINE_DEALLOC(ldap_memfreeA) __WINE_MALLOC; +WCHAR* CDECL ldap_dn2ufnW(const WCHAR*) __WINE_DEALLOC(ldap_memfreeW) __WINE_MALLOC; #define ldap_dn2ufn WINELIB_NAME_AW(ldap_dn2ufn) ULONG CDECL ldap_encode_sort_controlA(PLDAP,PLDAPSortKeyA*,PLDAPControlA,BOOLEAN); ULONG CDECL ldap_encode_sort_controlW(PLDAP,PLDAPSortKeyW*,PLDAPControlW,BOOLEAN); @@ -493,8 +497,10 @@ ULONG CDECL ldap_escape_filter_elementW(PCHAR,ULONG,PWCHAR,ULONG); char** CDECL ldap_explode_dnA(char*,ULONG) __WINE_DEALLOC(ldap_value_freeA); WCHAR** CDECL ldap_explode_dnW(WCHAR*,ULONG) __WINE_DEALLOC(ldap_value_freeW); #define ldap_explode_dn WINELIB_NAME_AW(ldap_explode_dn) -ULONG CDECL ldap_extended_operationA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_extended_operationW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_extended_operationA(LDAP*,const char*,struct berval*,LDAPControlA**,LDAPControlA**, + ULONG*); +ULONG CDECL ldap_extended_operationW(LDAP*,const WCHAR*,struct berval*,LDAPControlW**,LDAPControlW**, + ULONG*); #define ldap_extended_operation WINELIB_NAME_AW(ldap_extended_operation) ULONG CDECL ldap_extended_operation_sA(LDAP*,PCHAR,struct berval*,PLDAPControlA*,PLDAPControlA*,PCHAR*,struct berval**); ULONG CDECL ldap_extended_operation_sW(LDAP*,PWCHAR,struct berval*,PLDAPControlW*,PLDAPControlW*,PWCHAR*,struct berval**); @@ -516,12 +522,12 @@ ULONG CDECL ldap_get_optionA(LDAP*,int,void*); ULONG CDECL ldap_get_optionW(LDAP*,int,void*); #define ldap_get_option WINELIB_NAME_AW(ldap_get_option) ULONG CDECL ldap_get_paged_count(LDAP*,PLDAPSearch,ULONG*,LDAPMessage*); -char** CDECL ldap_get_valuesA(LDAP*,LDAPMessage*,char*) __WINE_DEALLOC(ldap_value_freeA); -WCHAR** CDECL ldap_get_valuesW(LDAP*,LDAPMessage*,WCHAR*) __WINE_DEALLOC(ldap_value_freeW); +char** CDECL ldap_get_valuesA(LDAP*,LDAPMessage*,const char*) __WINE_DEALLOC(ldap_value_freeA); +WCHAR** CDECL ldap_get_valuesW(LDAP*,LDAPMessage*,const WCHAR*) __WINE_DEALLOC(ldap_value_freeW); #define ldap_get_values WINELIB_NAME_AW(ldap_get_values) -struct berval ** CDECL ldap_get_values_lenA(LDAP*,LDAPMessage*,char*) +struct berval ** CDECL ldap_get_values_lenA(LDAP*,LDAPMessage*,const char*) __WINE_DEALLOC(ldap_value_free_len); -struct berval ** CDECL ldap_get_values_lenW(LDAP*,LDAPMessage*,WCHAR*) +struct berval ** CDECL ldap_get_values_lenW(LDAP*,LDAPMessage*,const WCHAR*) __WINE_DEALLOC(ldap_value_free_len); #define ldap_get_values_len WINELIB_NAME_AW(ldap_get_values_len) LDAP* CDECL ldap_initA(const PCHAR,ULONG); @@ -530,34 +536,34 @@ LDAP* CDECL ldap_initW(const PWCHAR,ULONG); ULONG CDECL ldap_modifyA(LDAP*,PCHAR,LDAPModA*[]); ULONG CDECL ldap_modifyW(LDAP*,PWCHAR,LDAPModW*[]); #define ldap_modify WINELIB_NAME_AW(ldap_modify) -ULONG CDECL ldap_modify_extA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_modify_extW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_modify_extA(LDAP*,const char*,LDAPModA**,LDAPControlA**,LDAPControlA**,ULONG*); +ULONG CDECL ldap_modify_extW(LDAP*,const WCHAR*,LDAPModW**,LDAPControlW**,LDAPControlW**,ULONG*); #define ldap_modify_ext WINELIB_NAME_AW(ldap_modify_ext) -ULONG CDECL ldap_modify_ext_sA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*); -ULONG CDECL ldap_modify_ext_sW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*); +ULONG CDECL ldap_modify_ext_sA(LDAP*,const char*,LDAPModA**,LDAPControlA**,LDAPControlA**); +ULONG CDECL ldap_modify_ext_sW(LDAP*,const WCHAR*,LDAPModW**,LDAPControlW**,LDAPControlW**); #define ldap_modify_ext_s WINELIB_NAME_AW(ldap_modify_ext_s) ULONG CDECL ldap_modify_sA(LDAP*,PCHAR,LDAPModA*[]); ULONG CDECL ldap_modify_sW(LDAP*,PWCHAR,LDAPModW*[]); #define ldap_modify_s WINELIB_NAME_AW(ldap_modify_s) -ULONG CDECL ldap_modrdnA(LDAP*,PCHAR,PCHAR); -ULONG CDECL ldap_modrdnW(LDAP*,PWCHAR,PWCHAR); +ULONG CDECL ldap_modrdnA(LDAP*,const char*,const char*); +ULONG CDECL ldap_modrdnW(LDAP*,const WCHAR*,const WCHAR*); #define ldap_modrdn WINELIB_NAME_AW(ldap_modrdn) -ULONG CDECL ldap_modrdn2A(LDAP*,PCHAR,PCHAR,INT); -ULONG CDECL ldap_modrdn2W(LDAP*,PWCHAR,PWCHAR,INT); +ULONG CDECL ldap_modrdn2A(LDAP*,const char*,const char*,INT); +ULONG CDECL ldap_modrdn2W(LDAP*,const WCHAR*,const WCHAR*,INT); #define ldap_modrdn2 WINELIB_NAME_AW(ldap_modrdn2) -ULONG CDECL ldap_modrdn2_sA(LDAP*,PCHAR,PCHAR,INT); -ULONG CDECL ldap_modrdn2_sW(LDAP*,PWCHAR,PWCHAR,INT); +ULONG CDECL ldap_modrdn2_sA(LDAP*,const char*,const char*,INT); +ULONG CDECL ldap_modrdn2_sW(LDAP*,const WCHAR*,const WCHAR*,INT); #define ldap_modrdn2_s WINELIB_NAME_AW(ldap_modrdn2_s) -ULONG CDECL ldap_modrdn_sA(LDAP*,PCHAR,PCHAR); -ULONG CDECL ldap_modrdn_sW(LDAP*,PWCHAR,PWCHAR); +ULONG CDECL ldap_modrdn_sA(LDAP*,const char*,const char*); +ULONG CDECL ldap_modrdn_sW(LDAP*,const WCHAR*,const WCHAR*); #define ldap_modrdn_s WINELIB_NAME_AW(ldap_modrdn_s) ULONG CDECL ldap_msgfree(LDAPMessage*); PCHAR CDECL ldap_next_attributeA(LDAP*,LDAPMessage*,BerElement*); PWCHAR CDECL ldap_next_attributeW(LDAP*,LDAPMessage*,BerElement*); #define ldap_next_attribute WINELIB_NAME_AW(ldap_next_attribute) LDAPMessage * CDECL ldap_next_entry(LDAP*,LDAPMessage*); -LDAP * CDECL ldap_openA(PCHAR,ULONG); -LDAP * CDECL ldap_openW(PWCHAR,ULONG); +LDAP * CDECL ldap_openA(const char*,ULONG); +LDAP * CDECL ldap_openW(const WCHAR*,ULONG); #define ldap_open WINELIB_NAME_AW(ldap_open) ULONG CDECL ldap_parse_extended_resultA(LDAP*,LDAPMessage*,PCHAR*,struct berval**,BOOLEAN); ULONG CDECL ldap_parse_extended_resultW(LDAP*,LDAPMessage*,PWCHAR*,struct berval**,BOOLEAN); @@ -579,11 +585,15 @@ INT CDECL ldap_parse_vlv_controlA(PLDAP,PLDAPControlA*,PULONG,PULONG,PBERVAL*,PI INT CDECL ldap_parse_vlv_controlW(PLDAP,PLDAPControlW*,PULONG,PULONG,PBERVAL*,PINT); #define ldap_parse_vlv_control WINELIB_NAME_AW(ldap_parse_vlv_control) void CDECL ldap_perror(LDAP*,const PCHAR); -ULONG CDECL ldap_rename_extA(LDAP*,PCHAR,PCHAR,PCHAR,INT,PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_rename_extW(LDAP*,PWCHAR,PWCHAR,PWCHAR,INT,PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_rename_extA(LDAP*,const char*,const char*,const char*,INT,LDAPControlA**, + LDAPControlA**,ULONG*); +ULONG CDECL ldap_rename_extW(LDAP*,const WCHAR*,const WCHAR*,const WCHAR*,INT,LDAPControlW**, + LDAPControlW**,ULONG*); #define ldap_rename_ext WINELIB_NAME_AW(ldap_rename_ext) -ULONG CDECL ldap_rename_ext_sA(LDAP*,PCHAR,PCHAR,PCHAR,INT,PLDAPControlA*,PLDAPControlA*); -ULONG CDECL ldap_rename_ext_sW(LDAP*,PWCHAR,PWCHAR,PWCHAR,INT,PLDAPControlW*,PLDAPControlW*); +ULONG CDECL ldap_rename_ext_sA(LDAP*,const char*,const char*,const char*,INT,LDAPControlA**, + LDAPControlA**); +ULONG CDECL ldap_rename_ext_sW(LDAP*,const WCHAR*,const WCHAR*,const WCHAR*,INT,LDAPControlW**, + LDAPControlW**); #define ldap_rename_ext_s WINELIB_NAME_AW(ldap_rename_ext_s) ULONG CDECL ldap_result(LDAP*,ULONG,ULONG,struct l_timeval*,LDAPMessage**); ULONG CDECL ldap_result2error(LDAP*,LDAPMessage*,ULONG); @@ -593,41 +603,41 @@ ULONG CDECL ldap_sasl_bindW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPC ULONG CDECL ldap_sasl_bind_sA(LDAP*,const PCHAR,const PCHAR,const BERVAL*,PLDAPControlA*,PLDAPControlA*,PBERVAL*); ULONG CDECL ldap_sasl_bind_sW(LDAP*,const PWCHAR,const PWCHAR,const BERVAL*,PLDAPControlW*,PLDAPControlW*,PBERVAL*); #define ldap_sasl_bind_s WINELIB_NAME_AW(ldap_sasl_bind_s) -ULONG CDECL ldap_simple_bindA(LDAP*,PCHAR,PCHAR); -ULONG CDECL ldap_simple_bindW(LDAP*,PWCHAR,PWCHAR); +ULONG CDECL ldap_simple_bindA(LDAP*,const char*,const char*); +ULONG CDECL ldap_simple_bindW(LDAP*,const WCHAR*,const WCHAR*); #define ldap_simple_bind WINELIB_NAME_AW(ldap_simple_bind) ULONG CDECL ldap_simple_bind_sA(LDAP*,PCHAR,PCHAR); ULONG CDECL ldap_simple_bind_sW(LDAP*,PWCHAR,PWCHAR); #define ldap_simple_bind_s WINELIB_NAME_AW(ldap_simple_bind_s) ULONG CDECL ldap_search_abandon_page(PLDAP,PLDAPSearch); -ULONG CDECL ldap_searchA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG); -ULONG CDECL ldap_searchW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG); +ULONG CDECL ldap_searchA(LDAP*,const char*,ULONG,const char*,WCHAR**,ULONG); +ULONG CDECL ldap_searchW(LDAP*,const WCHAR*,ULONG,const WCHAR*,WCHAR**,ULONG); #define ldap_search WINELIB_NAME_AW(ldap_search) -ULONG CDECL ldap_search_extA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, - PLDAPControlA*,ULONG,ULONG,ULONG*); -ULONG CDECL ldap_search_extW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, - PLDAPControlW*,ULONG,ULONG,ULONG*); +ULONG CDECL ldap_search_extA(LDAP*,const char*,ULONG,const char*,char**,ULONG,LDAPControlA**, + LDAPControlA**,ULONG,ULONG,ULONG*); +ULONG CDECL ldap_search_extW(LDAP*,const WCHAR*,ULONG,const WCHAR*,WCHAR**,ULONG,LDAPControlW**, + LDAPControlW**,ULONG,ULONG,ULONG*); #define ldap_search_ext WINELIB_NAME_AW(ldap_search_ext) -ULONG CDECL ldap_search_ext_sA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, - PLDAPControlA*,struct l_timeval*,ULONG,LDAPMessage**); -ULONG CDECL ldap_search_ext_sW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, - PLDAPControlW*,struct l_timeval*,ULONG,LDAPMessage**); +ULONG CDECL ldap_search_ext_sA(LDAP*,const char*,ULONG,const char*,const char**,ULONG, + LDAPControlA**,LDAPControlA**,struct l_timeval*,ULONG,LDAPMessage**); +ULONG CDECL ldap_search_ext_sW(LDAP*,const WCHAR*,ULONG,const WCHAR*,WCHAR**,ULONG,LDAPControlW**, + LDAPControlW**,struct l_timeval*,ULONG,LDAPMessage**); #define ldap_search_ext_s WINELIB_NAME_AW(ldap_search_ext_s) -PLDAPSearch CDECL ldap_search_init_pageA(PLDAP,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,PLDAPControlA*, - PLDAPControlA*,ULONG,ULONG,PLDAPSortKeyA*); -PLDAPSearch CDECL ldap_search_init_pageW(PLDAP,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,PLDAPControlW*, - PLDAPControlW*,ULONG,ULONG, PLDAPSortKeyW*); +LDAPSearch* CDECL ldap_search_init_pageA(LDAP*,const char*,ULONG,const char*,char**,ULONG, + LDAPControlA**, LDAPControlA**,ULONG,ULONG,LDAPSortKeyA**); +LDAPSearch* CDECL ldap_search_init_pageW(LDAP*,const WCHAR*,ULONG,const WCHAR*,WCHAR**,ULONG, + LDAPControlW**,LDAPControlW**,ULONG,ULONG,LDAPSortKeyW**); #define ldap_search_init_page WINELIB_NAME_AW(ldap_search_init_page) -ULONG CDECL ldap_search_sA(LDAP*,PCHAR,ULONG,PCHAR,PCHAR[],ULONG,LDAPMessage**); -ULONG CDECL ldap_search_sW(LDAP*,PWCHAR,ULONG,PWCHAR,PWCHAR[],ULONG,LDAPMessage**); +ULONG CDECL ldap_search_sA(LDAP*,const char*,ULONG,const char*,char**,ULONG,LDAPMessage**); +ULONG CDECL ldap_search_sW(LDAP*,const WCHAR*,ULONG,const WCHAR*,WCHAR**,ULONG,LDAPMessage**); #define ldap_search_s WINELIB_NAME_AW(ldap_search_s) ULONG CDECL ldap_search_stA(LDAP*,const PCHAR,ULONG,const PCHAR,PCHAR[],ULONG, struct l_timeval*,LDAPMessage**); ULONG CDECL ldap_search_stW(LDAP*,const PWCHAR,ULONG,const PWCHAR,PWCHAR[],ULONG, struct l_timeval*,LDAPMessage**); #define ldap_search_st WINELIB_NAME_AW(ldap_search_st) -ULONG CDECL ldap_set_optionA(LDAP*,int,void*); -ULONG CDECL ldap_set_optionW(LDAP*,int,void*); +ULONG CDECL ldap_set_optionA(LDAP*,int,const void*); +ULONG CDECL ldap_set_optionW(LDAP*,int,const void*); #define ldap_set_option WINELIB_NAME_AW(ldap_set_option) LDAP * CDECL ldap_sslinitA(PCHAR,ULONG,int); LDAP * CDECL ldap_sslinitW(PWCHAR,ULONG,int); @@ -637,8 +647,8 @@ ULONG CDECL ldap_start_tls_sW(LDAP*,PULONG,LDAPMessage**,PLDAPControlW*,PLDAPCon #define ldap_start_tls_s WINELIB_NAME_AW(ldap_start_tls_s) ULONG CDECL ldap_startup(PLDAP_VERSION_INFO,HANDLE*); BOOLEAN CDECL ldap_stop_tls_s(LDAP*); -ULONG CDECL ldap_ufn2dnA(PCHAR,PCHAR*); -ULONG CDECL ldap_ufn2dnW(PWCHAR,PWCHAR*); +ULONG CDECL ldap_ufn2dnA(const char*,char**); +ULONG CDECL ldap_ufn2dnW(const WCHAR*,WCHAR**); #define ldap_ufn2dn WINELIB_NAME_AW(ldap_ufn2dn) ULONG CDECL ldap_unbind(LDAP*); ULONG CDECL ldap_unbind_s(LDAP*); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2443
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=130814 Your paranoid android. === debian11 (build log) === error: patch failed: include/winldap.h:466 Task: Patch failed to apply === debian11b (build log) === error: patch failed: include/winldap.h:466 Task: Patch failed to apply
Hans Leidekker (@hans) commented about include/winldap.h:
ULONG CDECL ldap_addA(LDAP*,PCHAR,LDAPModA*[]); ULONG CDECL ldap_addW(LDAP*,PWCHAR,LDAPModW*[]); #define ldap_add WINELIB_NAME_AW(ldap_add) -ULONG CDECL ldap_add_extA(LDAP*,PCHAR,LDAPModA*[],PLDAPControlA*,PLDAPControlA*,ULONG*); -ULONG CDECL ldap_add_extW(LDAP*,PWCHAR,LDAPModW*[],PLDAPControlW*,PLDAPControlW*,ULONG*); +ULONG CDECL ldap_add_extA(LDAP*,const char*,LDAPModA**,LDAPControlA**,LDAPControlA**,ULONG*); +ULONG CDECL ldap_add_extW(LDAP*,const WCHAR*,LDAPModW**,LDAPControlW**,LDAPControlW**,ULONG*); The SDK has 'const PCHAR' here which is not the same thing.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2443#note_27271
On Mon Mar 20 08:46:51 2023 +0000, Hans Leidekker wrote:
The SDK has 'const PCHAR' here which is not the same thing. Ah, I see my mistake: `const PCHAR` would be `char * const`, not `const char *`. In that case, we can just drop the second patch from this MR.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2443#note_27308
participants (4)
-
Alex Henrie -
Alex Henrie (@alexhenrie) -
Hans Leidekker (@hans) -
Marvin