diff --git a/Utilities/rFile.cpp b/Utilities/rFile.cpp index ab85ecea5f..169c12a4c6 100644 --- a/Utilities/rFile.cpp +++ b/Utilities/rFile.cpp @@ -75,7 +75,7 @@ bool get_file_info(const std::string& path, FileInfo& info) info.ctime = to_time_t(attrs.ftCreationTime); #else struct stat64 file_info; - if (stat64(path, &file_info) < 0) + if (stat64(path.c_str(), &file_info) < 0) { info.exists = false; info.isDirectory = false; @@ -107,7 +107,7 @@ bool rIsDir(const std::string& dir) return (attrs & FILE_ATTRIBUTE_DIRECTORY) != 0; #else struct stat64 file_info; - if (stat64(path, &file_info) < 0) + if (stat64(dir.c_str(), &file_info) < 0) { return false; } diff --git a/rpcs3/Emu/Memory/vm.h b/rpcs3/Emu/Memory/vm.h index 73ae618404..41f0f825b8 100644 --- a/rpcs3/Emu/Memory/vm.h +++ b/rpcs3/Emu/Memory/vm.h @@ -65,7 +65,7 @@ namespace vm void dealloc(u32 addr, memory_location location = user_space); template - T* const get_ptr(u32 addr) + T* get_ptr(u32 addr) { return reinterpret_cast(static_cast(g_base_addr) + addr); } @@ -77,7 +77,7 @@ namespace vm } template - T* const priv_ptr(u32 addr) + T* priv_ptr(u32 addr) { return reinterpret_cast(static_cast(g_priv_addr) + addr); } @@ -107,15 +107,11 @@ namespace vm template<> struct cast_ptr { + static_assert(sizeof(unsigned long) == 8, "Unexpected size of unsigned long"); + __forceinline static u32 cast(const unsigned long addr, const char* func) { - const u32 res = static_cast(addr); - if (res != addr) - { - vm::error(addr, func); - } - - return res; + return cast_ptr::cast(addr, func); } }; #endif diff --git a/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp b/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp index 1a574fedbe..35ad8b2021 100644 --- a/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp +++ b/rpcs3/Emu/SysCalls/Modules/cellSaveData.cpp @@ -74,7 +74,7 @@ u64 get_save_data_size(const std::string& dir) { if ((entry->flags & DirEntry_TypeMask) == DirEntry_TypeFile) { - result += vfsFile(dir + "/" + entry->name).GetSize(); + result += entry->size; } }