diff options
author | libuv upstream <libuv@googlegroups.com> | 2019-01-15 15:42:13 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-01-16 19:48:27 (GMT) |
commit | 4fcb0d0213112bb2fdb04bb27e82543b93cfe41d (patch) | |
tree | 746a72d3795b562075d66fab8947dfd7527b6044 /src/win/dl.c | |
parent | c8b67ea119c4000018238f6c3201a1364356d93a (diff) | |
download | CMake-4fcb0d0213112bb2fdb04bb27e82543b93cfe41d.zip CMake-4fcb0d0213112bb2fdb04bb27e82543b93cfe41d.tar.gz CMake-4fcb0d0213112bb2fdb04bb27e82543b93cfe41d.tar.bz2 |
libuv 2019-01-15 (f84c5e69)
Code extracted from:
https://github.com/libuv/libuv.git
at commit f84c5e693b80cb0c62bcefba147e7a66e2b839c9 (v1.x).
Diffstat (limited to 'src/win/dl.c')
-rw-r--r-- | src/win/dl.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/win/dl.c b/src/win/dl.c index 97ac1c1..676be4d 100644 --- a/src/win/dl.c +++ b/src/win/dl.c @@ -64,7 +64,8 @@ void uv_dlclose(uv_lib_t* lib) { int uv_dlsym(uv_lib_t* lib, const char* name, void** ptr) { - *ptr = (void*) GetProcAddress(lib->handle, name); + /* Cast though integer to suppress pedantic warning about forbidden cast. */ + *ptr = (void*)(uintptr_t) GetProcAddress(lib->handle, name); return uv__dlerror(lib, "", *ptr ? 0 : GetLastError()); } @@ -75,8 +76,9 @@ const char* uv_dlerror(const uv_lib_t* lib) { static void uv__format_fallback_error(uv_lib_t* lib, int errorno){ - DWORD_PTR args[1] = { (DWORD_PTR) errorno }; - LPSTR fallback_error = "error: %1!d!"; + static const CHAR fallback_error[] = "error: %1!d!"; + DWORD_PTR args[1]; + args[0] = (DWORD_PTR) errorno; FormatMessageA(FORMAT_MESSAGE_FROM_STRING | FORMAT_MESSAGE_ARGUMENT_ARRAY | @@ -107,7 +109,8 @@ static int uv__dlerror(uv_lib_t* lib, const char* filename, DWORD errorno) { MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), (LPSTR) &lib->errmsg, 0, NULL); - if (!res && GetLastError() == ERROR_MUI_FILE_NOT_FOUND) { + if (!res && (GetLastError() == ERROR_MUI_FILE_NOT_FOUND || + GetLastError() == ERROR_RESOURCE_TYPE_NOT_FOUND)) { res = FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorno, |