diff options
author | Subv <subv2112@gmail.com> | 2016-01-16 23:01:01 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-03-20 20:52:26 +0100 |
commit | 3aa42627a3a35d8a4fb9acdcced24977d1f269cd (patch) | |
tree | 187e8911ae3b960c080f486bbf9fdbeeaea980bf /src/core | |
parent | HLE/FS: Fixed creating the config savefile when it doesn't exist. (diff) | |
download | yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.tar yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.tar.gz yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.tar.bz2 yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.tar.lz yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.tar.xz yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.tar.zst yuzu-3aa42627a3a35d8a4fb9acdcced24977d1f269cd.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/file_sys/archive_backend.h | 2 | ||||
-rw-r--r-- | src/core/file_sys/archive_extsavedata.cpp | 2 | ||||
-rw-r--r-- | src/core/file_sys/archive_extsavedata.h | 4 | ||||
-rw-r--r-- | src/core/file_sys/archive_savedata.cpp | 8 | ||||
-rw-r--r-- | src/core/hle/service/cfg/cfg.cpp | 1 | ||||
-rw-r--r-- | src/core/hle/service/fs/archive.cpp | 5 | ||||
-rw-r--r-- | src/core/hle/service/fs/archive.h | 2 | ||||
-rw-r--r-- | src/core/hle/service/fs/fs_user.cpp | 2 |
8 files changed, 12 insertions, 14 deletions
diff --git a/src/core/file_sys/archive_backend.h b/src/core/file_sys/archive_backend.h index 800ac1541..94cda172f 100644 --- a/src/core/file_sys/archive_backend.h +++ b/src/core/file_sys/archive_backend.h @@ -172,7 +172,7 @@ public: */ virtual ResultCode Format(const Path& path, const FileSys::ArchiveFormatInfo& format_info) = 0; - /* + /** * Retrieves the format info about the archive with the specified path * @param path Path to the archive * @return Format information about the archive or error code diff --git a/src/core/file_sys/archive_extsavedata.cpp b/src/core/file_sys/archive_extsavedata.cpp index e83a6153d..ca7fd5c5e 100644 --- a/src/core/file_sys/archive_extsavedata.cpp +++ b/src/core/file_sys/archive_extsavedata.cpp @@ -117,7 +117,7 @@ ResultVal<ArchiveFormatInfo> ArchiveFactory_ExtSaveData::GetFormatInfo(const Pat return ResultCode(ErrorDescription::FS_NotFormatted, ErrorModule::FS, ErrorSummary::InvalidState, ErrorLevel::Status); } -void ArchiveFactory_ExtSaveData::WriteIcon(const Path& path, u8* icon_data, u32 icon_size) { +void ArchiveFactory_ExtSaveData::WriteIcon(const Path& path, const u8* icon_data, u32 icon_size) { std::string game_path = FileSys::GetExtSaveDataPath(GetMountPoint(), path); FileUtil::IOFile icon_file(game_path + "icon", "wb+"); icon_file.WriteBytes(icon_data, icon_size); diff --git a/src/core/file_sys/archive_extsavedata.h b/src/core/file_sys/archive_extsavedata.h index 48e092ee7..1ebe0529f 100644 --- a/src/core/file_sys/archive_extsavedata.h +++ b/src/core/file_sys/archive_extsavedata.h @@ -36,13 +36,13 @@ public: const std::string& GetMountPoint() const { return mount_point; } - /* + /** * Writes the SMDH icon of the ExtSaveData to file * @param path Path of this ExtSaveData * @param icon_data Binary data of the icon * @param icon_size Size of the icon data */ - void WriteIcon(const Path& path, u8* icon_data, u32 icon_size); + void WriteIcon(const Path& path, const u8* icon_data, u32 icon_size); private: /** diff --git a/src/core/file_sys/archive_savedata.cpp b/src/core/file_sys/archive_savedata.cpp index 82f49af5d..c2d32ed7e 100644 --- a/src/core/file_sys/archive_savedata.cpp +++ b/src/core/file_sys/archive_savedata.cpp @@ -26,14 +26,14 @@ static std::string GetSaveDataContainerPath(const std::string& sdmc_directory) { } static std::string GetSaveDataPath(const std::string& mount_location, u64 program_id) { - u32 high = program_id >> 32; - u32 low = program_id & 0xFFFFFFFF; + u32 high = (u32)(program_id >> 32); + u32 low = (u32)(program_id & 0xFFFFFFFF); return Common::StringFromFormat("%s%08x/%08x/data/00000001/", mount_location.c_str(), high, low); } static std::string GetSaveDataMetadataPath(const std::string& mount_location, u64 program_id) { - u32 high = program_id >> 32; - u32 low = program_id & 0xFFFFFFFF; + u32 high = (u32)(program_id >> 32); + u32 low = (u32)(program_id & 0xFFFFFFFF); return Common::StringFromFormat("%s%08x/%08x/data/00000001.metadata", mount_location.c_str(), high, low); } diff --git a/src/core/hle/service/cfg/cfg.cpp b/src/core/hle/service/cfg/cfg.cpp index bb2c55612..525432957 100644 --- a/src/core/hle/service/cfg/cfg.cpp +++ b/src/core/hle/service/cfg/cfg.cpp @@ -310,6 +310,7 @@ ResultCode UpdateConfigNANDSavegame() { ResultCode FormatConfig() { ResultCode res = DeleteConfigNANDSaveFile(); + // The delete command fails if the file doesn't exist, so we have to check that too if (!res.IsSuccess() && res.description != ErrorDescription::FS_NotFound) return res; // Delete the old data diff --git a/src/core/hle/service/fs/archive.cpp b/src/core/hle/service/fs/archive.cpp index 63381250a..676a2ee56 100644 --- a/src/core/hle/service/fs/archive.cpp +++ b/src/core/hle/service/fs/archive.cpp @@ -308,11 +308,8 @@ ResultVal<Kernel::SharedPtr<File>> OpenFileFromArchive(ArchiveHandle archive_han return ERR_INVALID_HANDLE; auto backend = archive->OpenFile(path, mode); - if (backend.Failed()) { + if (backend.Failed()) return backend.Code(); - return ResultCode(ErrorDescription::FS_NotFound, ErrorModule::FS, - ErrorSummary::NotFound, ErrorLevel::Status); - } auto file = Kernel::SharedPtr<File>(new File(backend.MoveFrom(), path)); return MakeResult<Kernel::SharedPtr<File>>(std::move(file)); diff --git a/src/core/hle/service/fs/archive.h b/src/core/hle/service/fs/archive.h index b17d7c902..006606740 100644 --- a/src/core/hle/service/fs/archive.h +++ b/src/core/hle/service/fs/archive.h @@ -183,7 +183,7 @@ ResultVal<u64> GetFreeBytesInArchive(ArchiveHandle archive_handle); */ ResultCode FormatArchive(ArchiveIdCode id_code, const FileSys::ArchiveFormatInfo& format_info, const FileSys::Path& path = FileSys::Path()); -/* +/** * Retrieves the format info about the archive of the specified type and path. * The format info is supplied by the client code when creating archives. * @param id_code The id of the archive diff --git a/src/core/hle/service/fs/fs_user.cpp b/src/core/hle/service/fs/fs_user.cpp index ff7a9975e..3ec7ceb30 100644 --- a/src/core/hle/service/fs/fs_user.cpp +++ b/src/core/hle/service/fs/fs_user.cpp @@ -250,7 +250,7 @@ static void CreateFile(Service::Interface* self) { FileSys::Path file_path(filename_type, filename_size, filename_ptr); - LOG_DEBUG(Service_FS, "type=%d size=%lld data=%s", filename_type, filename_size, file_path.DebugStr().c_str()); + LOG_DEBUG(Service_FS, "type=%d size=%llu data=%s", filename_type, filename_size, file_path.DebugStr().c_str()); cmd_buff[1] = CreateFileInArchive(archive_handle, file_path, file_size).raw; } |