Merge pull request #2343 from lioncash/todo
file_sys/program_metadata: Remove obsolete TODOs
This commit is contained in:
		| @@ -3,7 +3,6 @@ | |||||||
| // Refer to the license.txt file included. | // Refer to the license.txt file included. | ||||||
|  |  | ||||||
| #include <cstddef> | #include <cstddef> | ||||||
| #include <cstring> |  | ||||||
| #include <vector> | #include <vector> | ||||||
|  |  | ||||||
| #include "common/logging/log.h" | #include "common/logging/log.h" | ||||||
| @@ -17,28 +16,30 @@ ProgramMetadata::ProgramMetadata() = default; | |||||||
| ProgramMetadata::~ProgramMetadata() = default; | ProgramMetadata::~ProgramMetadata() = default; | ||||||
|  |  | ||||||
| Loader::ResultStatus ProgramMetadata::Load(VirtualFile file) { | Loader::ResultStatus ProgramMetadata::Load(VirtualFile file) { | ||||||
|     std::size_t total_size = static_cast<std::size_t>(file->GetSize()); |     const std::size_t total_size = file->GetSize(); | ||||||
|     if (total_size < sizeof(Header)) |     if (total_size < sizeof(Header)) { | ||||||
|         return Loader::ResultStatus::ErrorBadNPDMHeader; |         return Loader::ResultStatus::ErrorBadNPDMHeader; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     // TODO(DarkLordZach): Use ReadObject when Header/AcidHeader becomes trivially copyable. |     if (sizeof(Header) != file->ReadObject(&npdm_header)) { | ||||||
|     std::vector<u8> npdm_header_data = file->ReadBytes(sizeof(Header)); |  | ||||||
|     if (sizeof(Header) != npdm_header_data.size()) |  | ||||||
|         return Loader::ResultStatus::ErrorBadNPDMHeader; |         return Loader::ResultStatus::ErrorBadNPDMHeader; | ||||||
|     std::memcpy(&npdm_header, npdm_header_data.data(), sizeof(Header)); |     } | ||||||
|  |  | ||||||
|     std::vector<u8> acid_header_data = file->ReadBytes(sizeof(AcidHeader), npdm_header.acid_offset); |     if (sizeof(AcidHeader) != file->ReadObject(&acid_header, npdm_header.acid_offset)) { | ||||||
|     if (sizeof(AcidHeader) != acid_header_data.size()) |  | ||||||
|         return Loader::ResultStatus::ErrorBadACIDHeader; |         return Loader::ResultStatus::ErrorBadACIDHeader; | ||||||
|     std::memcpy(&acid_header, acid_header_data.data(), sizeof(AcidHeader)); |     } | ||||||
|  |  | ||||||
|     if (sizeof(AciHeader) != file->ReadObject(&aci_header, npdm_header.aci_offset)) |     if (sizeof(AciHeader) != file->ReadObject(&aci_header, npdm_header.aci_offset)) { | ||||||
|         return Loader::ResultStatus::ErrorBadACIHeader; |         return Loader::ResultStatus::ErrorBadACIHeader; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     if (sizeof(FileAccessControl) != file->ReadObject(&acid_file_access, acid_header.fac_offset)) |     if (sizeof(FileAccessControl) != file->ReadObject(&acid_file_access, acid_header.fac_offset)) { | ||||||
|         return Loader::ResultStatus::ErrorBadFileAccessControl; |         return Loader::ResultStatus::ErrorBadFileAccessControl; | ||||||
|     if (sizeof(FileAccessHeader) != file->ReadObject(&aci_file_access, aci_header.fah_offset)) |     } | ||||||
|  |  | ||||||
|  |     if (sizeof(FileAccessHeader) != file->ReadObject(&aci_file_access, aci_header.fah_offset)) { | ||||||
|         return Loader::ResultStatus::ErrorBadFileAccessHeader; |         return Loader::ResultStatus::ErrorBadFileAccessHeader; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     aci_kernel_capabilities.resize(aci_header.kac_size / sizeof(u32)); |     aci_kernel_capabilities.resize(aci_header.kac_size / sizeof(u32)); | ||||||
|     const u64 read_size = aci_header.kac_size; |     const u64 read_size = aci_header.kac_size; | ||||||
|   | |||||||
| @@ -58,7 +58,6 @@ public: | |||||||
|     void Print() const; |     void Print() const; | ||||||
|  |  | ||||||
| private: | private: | ||||||
|     // TODO(DarkLordZach): BitField is not trivially copyable. |  | ||||||
|     struct Header { |     struct Header { | ||||||
|         std::array<char, 4> magic; |         std::array<char, 4> magic; | ||||||
|         std::array<u8, 8> reserved; |         std::array<u8, 8> reserved; | ||||||
| @@ -85,7 +84,6 @@ private: | |||||||
|  |  | ||||||
|     static_assert(sizeof(Header) == 0x80, "NPDM header structure size is wrong"); |     static_assert(sizeof(Header) == 0x80, "NPDM header structure size is wrong"); | ||||||
|  |  | ||||||
|     // TODO(DarkLordZach): BitField is not trivially copyable. |  | ||||||
|     struct AcidHeader { |     struct AcidHeader { | ||||||
|         std::array<u8, 0x100> signature; |         std::array<u8, 0x100> signature; | ||||||
|         std::array<u8, 0x100> nca_modulus; |         std::array<u8, 0x100> nca_modulus; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user