From 08f96982a910eb83e2be03a7db1305c8668f9668 Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Tue, 27 Aug 2019 14:20:20 -0400 Subject: ldap: Stop using wide char version of ldapp_err2string Despite ldapp_err2string being documented by MS as returning a PCHAR (char *), when UNICODE it is mapped to ldap_err2stringW and returns PWCHAR (wchar_t *). We have lots of code that expects ldap_err2string to return char *, most of it failf used like this: failf(data, "LDAP local: Some error: %s", ldap_err2string(rc)); Closes https://github.com/curl/curl/pull/4272 --- lib/ldap.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ldap.c b/lib/ldap.c index fd31faa3e..d7d90fea7 100644 --- a/lib/ldap.c +++ b/lib/ldap.c @@ -119,6 +119,12 @@ static void _ldap_free_urldesc(LDAPURLDesc *ludp); #define LDAP_TRACE(x) Curl_nop_stmt #endif +#if defined(USE_WIN32_LDAP) && defined(ldap_err2string) +/* Use ansi error strings in UNICODE builds */ +#undef ldap_err2string +#define ldap_err2string ldap_err2stringA +#endif + static CURLcode Curl_ldap(struct connectdata *conn, bool *done); -- cgit v1.2.1