Fix Mono path utils char types.

This commit is contained in:
bruvzg 2020-09-04 22:17:37 +03:00
parent 5c4dffe7c2
commit 82cd97b675
No known key found for this signature in database
GPG Key ID: FCED35F1CECE0D3A

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);