mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-03 23:21:15 +00:00 
			
		
		
		
	Fix Mono path utils char types.
This commit is contained in:
		
							parent
							
								
									5c4dffe7c2
								
							
						
					
					
						commit
						82cd97b675
					
				
					 1 changed files with 16 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -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);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue