From 8582bfe698dc8f12c5e2192b60da806afa9b14be Mon Sep 17 00:00:00 2001
From: Jon Griffiths <jon@gluon.(none)>
Date: Tue, 17 May 2011 02:05:41 +1200
Subject: [PATCH] lib: Allow compilation with UNICODE defined for Win32 by explicitly calling the correct A/W call.

---
 lib/getenv.c   |    2 +-
 lib/strerror.c |    8 ++++----
 lib/telnet.c   |    2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/getenv.c b/lib/getenv.c
index 36fbb75..3e4f8fd 100644
--- a/lib/getenv.c
+++ b/lib/getenv.c
@@ -46,7 +46,7 @@ char *GetEnv(const char *variable)
   char *temp = getenv(variable);
   env[0] = '\0';
   if(temp != NULL)
-    ExpandEnvironmentStrings(temp, env, sizeof(env));
+    ExpandEnvironmentStringsA(temp, env, sizeof(env));
   return (env[0] != '\0')?strdup(env):NULL;
 #else
   char *env = getenv(variable);
diff --git a/lib/strerror.c b/lib/strerror.c
index 0a88342..bcc92cd 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -621,8 +621,8 @@ const char *Curl_strerror(struct connectdata *conn, int err)
     wchar_t wbuf[256];
     wbuf[0] = L'\0';
 
-    FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
-                  LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL);
+    FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
+                   LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL);
     wcstombs(buf,wbuf,max);
   }
 #else
@@ -631,8 +631,8 @@ const char *Curl_strerror(struct connectdata *conn, int err)
     strncpy(buf, strerror(err), max);
   else {
     if(!get_winsock_error(err, buf, max) &&
-        !FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
-                       LANG_NEUTRAL, buf, (DWORD)max, NULL))
+        !FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, err,
+                        LANG_NEUTRAL, buf, (DWORD)max, NULL))
       snprintf(buf, max, "Unknown error %d (%#x)", err, err);
   }
 #endif
diff --git a/lib/telnet.c b/lib/telnet.c
index 80592d2..1c1784a 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -1183,7 +1183,7 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
 
   /* OK, so we have WinSock 2.0.  We need to dynamically */
   /* load ws2_32.dll and get the function pointers we need. */
-  wsock2 = LoadLibrary("WS2_32.DLL");
+  wsock2 = LoadLibraryA("WS2_32.DLL");
   if(wsock2 == NULL) {
     failf(data,"failed to load WS2_32.DLL (%d)", ERRNO);
     return CURLE_FAILED_INIT;
-- 
1.7.0.4

