From 2461464ba7493f812291c497a7bd0919207ed87b Mon Sep 17 00:00:00 2001 From: GaryOderNichts <12049776+GaryOderNichts@users.noreply.github.com> Date: Wed, 26 Oct 2022 00:25:46 +0200 Subject: [PATCH] FSA: Add missing path translations (#413) --- src/Cafe/Filesystem/fsc.cpp | 6 +++--- src/Cafe/Filesystem/fsc.h | 6 +++--- src/Cafe/IOSU/fsa/iosu_fsa.cpp | 14 +++++++------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Cafe/Filesystem/fsc.cpp b/src/Cafe/Filesystem/fsc.cpp index 71bae60e..5602df74 100644 --- a/src/Cafe/Filesystem/fsc.cpp +++ b/src/Cafe/Filesystem/fsc.cpp @@ -441,7 +441,7 @@ bool fsc_nextDir(FSCVirtualFile* fscFile, FSCDirEntry* dirEntry) /* * Create directory */ -bool fsc_createDir(char* path, sint32* fscStatus) +bool fsc_createDir(const char* path, sint32* fscStatus) { fscDeviceC* fscDevice = NULL; *fscStatus = FSC_STATUS_UNDEFINED; @@ -461,7 +461,7 @@ bool fsc_createDir(char* path, sint32* fscStatus) /* * Rename file or directory */ -bool fsc_rename(char* srcPath, char* dstPath, sint32* fscStatus) +bool fsc_rename(const char* srcPath, const char* dstPath, sint32* fscStatus) { std::string srcDevicePath; std::string dstDevicePath; @@ -481,7 +481,7 @@ bool fsc_rename(char* srcPath, char* dstPath, sint32* fscStatus) /* * Delete file or subdirectory */ -bool fsc_remove(char* path, sint32* fscStatus) +bool fsc_remove(const char* path, sint32* fscStatus) { std::string devicePath; fscDeviceC* fscDevice = NULL; diff --git a/src/Cafe/Filesystem/fsc.h b/src/Cafe/Filesystem/fsc.h index 9420d69d..e34c74dd 100644 --- a/src/Cafe/Filesystem/fsc.h +++ b/src/Cafe/Filesystem/fsc.h @@ -167,9 +167,9 @@ void fsc_unmountAll(); FSCVirtualFile* fsc_open(const char* path, FSC_ACCESS_FLAG accessFlags, sint32* fscStatus, sint32 maxPriority=FSC_PRIORITY_MAX); FSCVirtualFile* fsc_openDirIterator(const char* path, sint32* fscStatus); -bool fsc_createDir(char* path, sint32* fscStatus); -bool fsc_rename(char* srcPath, char* dstPath, sint32* fscStatus); -bool fsc_remove(char* path, sint32* fscStatus); +bool fsc_createDir(const char* path, sint32* fscStatus); +bool fsc_rename(const char* srcPath, const char* dstPath, sint32* fscStatus); +bool fsc_remove(const char* path, sint32* fscStatus); bool fsc_nextDir(FSCVirtualFile* fscFile, FSCDirEntry* dirEntry); void fsc_close(FSCVirtualFile* fscFile); uint32 fsc_getFileSize(FSCVirtualFile* fscFile); diff --git a/src/Cafe/IOSU/fsa/iosu_fsa.cpp b/src/Cafe/IOSU/fsa/iosu_fsa.cpp index 7fd235ce..cc16463f 100644 --- a/src/Cafe/IOSU/fsa/iosu_fsa.cpp +++ b/src/Cafe/IOSU/fsa/iosu_fsa.cpp @@ -328,26 +328,26 @@ namespace iosu FSStatus FSAProcessCmd_remove(FSAClient* client, FSAIpcCommand* cmd) { - char* path = (char*)cmd->cmdRemove.path; + std::string path = __FSATranslatePath(client, (char*)cmd->cmdRemove.path); sint32 fscStatus = FSC_STATUS_FILE_NOT_FOUND; - fsc_remove(path, &fscStatus); + fsc_remove(path.c_str(), &fscStatus); return FSA_convertFSCtoFSStatus(fscStatus); } FSStatus FSAProcessCmd_makeDir(FSAClient* client, FSAIpcCommand* cmd) { - char* path = (char*)cmd->cmdMakeDir.path; + std::string path = __FSATranslatePath(client, (char*)cmd->cmdMakeDir.path); sint32 fscStatus = FSC_STATUS_FILE_NOT_FOUND; - fsc_createDir(path, &fscStatus); + fsc_createDir(path.c_str(), &fscStatus); return FSA_convertFSCtoFSStatus(fscStatus); } FSStatus FSAProcessCmd_rename(FSAClient* client, FSAIpcCommand* cmd) { - char* srcPath = (char*)cmd->cmdRename.srcPath; - char* dstPath = (char*)cmd->cmdRename.dstPath; + std::string srcPath = __FSATranslatePath(client, (char*)cmd->cmdRename.srcPath); + std::string dstPath = __FSATranslatePath(client, (char*)cmd->cmdRename.dstPath); sint32 fscStatus = FSC_STATUS_FILE_NOT_FOUND; - fsc_rename(srcPath, dstPath, &fscStatus); + fsc_rename(srcPath.c_str(), dstPath.c_str(), &fscStatus); return FSA_convertFSCtoFSStatus(fscStatus); }