Changeset - r28638:dfc00f0b6736
[Not reviewed]
master
0 3 0
Loïc Guilloux - 3 months ago 2024-02-02 15:30:23
glx22@users.noreply.github.com
Fix #11948: [Win32] Convert error messages to utf8 (#11951)
3 files changed with 13 insertions and 12 deletions:
0 comments (0 inline, 0 general)
src/network/core/http_winhttp.cpp
Show inline comments
 
@@ -73,15 +73,16 @@ NetworkHTTPRequest::NetworkHTTPRequest(c
 

	
 
static std::string GetLastErrorAsString()
 
{
 
	char buffer[512];
 
	wchar_t buffer[512];
 

	
 
	DWORD error_code = GetLastError();
 

	
 
	if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS, GetModuleHandleA("winhttp.dll"), error_code,
 
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, sizeof(buffer), nullptr) == 0) {
 
	if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS, GetModuleHandle(L"winhttp.dll"), error_code,
 
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, lengthof(buffer), nullptr) == 0) {
 
		return fmt::format("unknown error {}", error_code);
 
	}
 

	
 
	return buffer;
 
	return FS2OTTD(buffer);
 
}
 

	
 
/**
src/network/core/os_abstraction.cpp
Show inline comments
 
@@ -81,12 +81,12 @@ const std::string &NetworkError::AsStrin
 
{
 
	if (this->message.empty()) {
 
#if defined(_WIN32)
 
		char buffer[512];
 
		if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, nullptr, this->error,
 
			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, sizeof(buffer), nullptr) == 0) {
 
		wchar_t buffer[512];
 
		if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, nullptr, this->error,
 
			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, lengthof(buffer), nullptr) == 0) {
 
			this->message.assign(fmt::format("Unknown error {}", this->error));
 
		} else {
 
			this->message.assign(buffer);
 
			this->message.assign(FS2OTTD(buffer));
 
		}
 
#else
 
		/* Make strerror thread safe by locking access to it. There is a thread safe strerror_r, however
src/os/windows/library_loader_win.cpp
Show inline comments
 
@@ -20,13 +20,13 @@ static std::string GetLoadError()
 
{
 
	auto error_code = GetLastError();
 

	
 
	char buffer[512];
 
	if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, nullptr, error_code,
 
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, sizeof(buffer), nullptr) == 0) {
 
	wchar_t buffer[512];
 
	if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, nullptr, error_code,
 
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, lengthof(buffer), nullptr) == 0) {
 
		return fmt::format("Unknown error {}", error_code);
 
	}
 

	
 
	return buffer;
 
	return FS2OTTD(buffer);
 
}
 

	
 
void *LibraryLoader::OpenLibrary(const std::string &filename)
0 comments (0 inline, 0 general)