diff options
| author | Wladimir J. van der Laan <[email protected]> | 2018-09-13 12:10:17 +0200 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2018-09-13 12:11:44 +0200 |
| commit | 37b836ad09369d62244e79bf4ba806516f2344cc (patch) | |
| tree | d2a7ebc9b35446f22c591d8ace8a0f8d2dbfd1de /src | |
| parent | Merge #14207: doc: `-help-debug` implies `-help` (diff) | |
| parent | Call unicode API on Windows (diff) | |
| download | discoin-37b836ad09369d62244e79bf4ba806516f2344cc.tar.xz discoin-37b836ad09369d62244e79bf4ba806516f2344cc.zip | |
Merge #13888: Call unicode API on Windows
d38bf9105d33147c899117a4c20ba7872733186f Call unicode API on Windows (Chun Kuan Lee)
Pull request description:
Call Unicode API on Windows
Tree-SHA512: 93c290ee79c9d911fdada8ba45e184fc4f14d3cb56f33f39223286213878b08e8c4dd296a80099c57797d3b8589870e6cff622b22e76123d7452659d49dd8309
Diffstat (limited to 'src')
| -rw-r--r-- | src/netbase.cpp | 10 | ||||
| -rw-r--r-- | src/util.cpp | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp index 4b63757f3..093fd0bdb 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -17,6 +17,8 @@ #ifndef WIN32 #include <fcntl.h> +#else +#include <codecvt> #endif #if !defined(MSG_NOSIGNAL) @@ -649,13 +651,13 @@ bool LookupSubNet(const char* pszName, CSubNet& ret) #ifdef WIN32 std::string NetworkErrorString(int err) { - char buf[256]; + wchar_t buf[256]; buf[0] = 0; - if(FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, + if(FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_MAX_WIDTH_MASK, nullptr, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - buf, sizeof(buf), nullptr)) + buf, ARRAYSIZE(buf), nullptr)) { - return strprintf("%s (%d)", buf, err); + return strprintf("%s (%d)", std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>,wchar_t>().to_bytes(buf), err); } else { diff --git a/src/util.cpp b/src/util.cpp index 6331dc211..ee8bc9458 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -998,7 +998,7 @@ void CreatePidFile(const fs::path &path, pid_t pid) bool RenameOver(fs::path src, fs::path dest) { #ifdef WIN32 - return MoveFileExA(src.string().c_str(), dest.string().c_str(), + return MoveFileExW(src.wstring().c_str(), dest.wstring().c_str(), MOVEFILE_REPLACE_EXISTING) != 0; #else int rc = std::rename(src.string().c_str(), dest.string().c_str()); |