Maybe resolves #84

This commit is contained in:
Yukino Song
2024-10-27 02:46:21 +08:00
parent d46aeccedc
commit 551999be48
2 changed files with 3 additions and 2 deletions
+2 -2
View File
@@ -1848,7 +1848,7 @@ namespace platf {
} }
// Get the output size required to store the string // Get the output size required to store the string
auto output_size = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, string.data(), string.size(), nullptr, 0); auto output_size = MultiByteToWideChar(CP_UTF8, 0, string.data(), string.size(), nullptr, 0);
if (output_size == 0) { if (output_size == 0) {
auto winerr = GetLastError(); auto winerr = GetLastError();
BOOST_LOG(error) << "Failed to get UTF-16 buffer size: "sv << winerr; BOOST_LOG(error) << "Failed to get UTF-16 buffer size: "sv << winerr;
@@ -1857,7 +1857,7 @@ namespace platf {
// Perform the conversion // Perform the conversion
std::wstring output(output_size, L'\0'); std::wstring output(output_size, L'\0');
output_size = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, string.data(), string.size(), output.data(), output.size()); output_size = MultiByteToWideChar(CP_UTF8, 0, string.data(), string.size(), output.data(), output.size());
if (output_size == 0) { if (output_size == 0) {
auto winerr = GetLastError(); auto winerr = GetLastError();
BOOST_LOG(error) << "Failed to convert string to UTF-16: "sv << winerr; BOOST_LOG(error) << "Failed to convert string to UTF-16: "sv << winerr;
+1
View File
@@ -966,6 +966,7 @@ namespace proc {
// when it contains spaces. Unlike POSIX, Windows forbids quotes in paths, // when it contains spaces. Unlike POSIX, Windows forbids quotes in paths,
// so we can safely strip them all out here to avoid confusing the user. // so we can safely strip them all out here to avoid confusing the user.
boost::erase_all(ctx.working_dir, "\""); boost::erase_all(ctx.working_dir, "\"");
ctx.working_dir += '\\';
#endif #endif
} }