Merge pull request #41770 from bruvzg/fix_mono_win_build

Fix Mono path utils char types.
This commit is contained in:
Rémi Verschelde 2020-09-04 21:44:44 +02:00 committed by GitHub
commit c4865921ec
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -54,12 +54,16 @@ String cwd() {
#ifdef WINDOWS_ENABLED
const DWORD expected_size = ::GetCurrentDirectoryW(0, nullptr);
String buffer;
Char16String buffer;
buffer.resize((int)expected_size);
if (::GetCurrentDirectoryW(expected_size, buffer.ptrw()) == 0)
if (::GetCurrentDirectoryW(expected_size, (wchar_t *)buffer.ptrw()) == 0)
return ".";
return buffer.simplify_path();
String result;
if (result.parse_utf16(buffer.ptr())) {
return ".";
}
return result.simplify_path();
#else
char buffer[PATH_MAX];
if (::getcwd(buffer, sizeof(buffer)) == nullptr) {
@ -100,12 +104,18 @@ String realpath(const String &p_path) {
return p_path;
}
String buffer;
Char16String buffer;
buffer.resize((int)expected_size);
::GetFinalPathNameByHandleW(hFile, buffer.ptrw(), expected_size, FILE_NAME_NORMALIZED);
::GetFinalPathNameByHandleW(hFile, (wchar_t *)buffer.ptrw(), expected_size, FILE_NAME_NORMALIZED);
::CloseHandle(hFile);
return buffer.simplify_path();
String result;
if (result.parse_utf16(buffer.ptr())) {
return p_path;
}
return result.simplify_path();
#elif UNIX_ENABLED
char *resolved_path = ::realpath(p_path.utf8().get_data(), nullptr);