mirror of
				https://github.com/yuzu-emu/yuzu.git
				synced 2025-11-04 08:13:41 +00:00 
			
		
		
		
	file_sys: tweaks
This commit is contained in:
		
							parent
							
								
									c03795300a
								
							
						
					
					
						commit
						83aa38b239
					
				@ -3,6 +3,7 @@
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include <cinttypes>
 | 
			
		||||
#include <utility>
 | 
			
		||||
#include "common/file_util.h"
 | 
			
		||||
#include "common/logging/log.h"
 | 
			
		||||
#include "core/file_sys/partition_filesystem.h"
 | 
			
		||||
@ -44,8 +45,8 @@ Loader::ResultStatus PartitionFilesystem::Load(const std::string& file_path, siz
 | 
			
		||||
    return result;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8> file_data, size_t offset) {
 | 
			
		||||
    size_t total_size = static_cast<size_t>(file_data.size() - offset);
 | 
			
		||||
Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8>& file_data, size_t offset) {
 | 
			
		||||
    size_t total_size = file_data.size() - offset;
 | 
			
		||||
    if (total_size < sizeof(Header))
 | 
			
		||||
        return Loader::ResultStatus::Error;
 | 
			
		||||
 | 
			
		||||
@ -61,7 +62,7 @@ Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8> file_data,
 | 
			
		||||
        memcpy(&entry.fs_entry, &file_data[entries_offset + (i * entry_size)], sizeof(FSEntry));
 | 
			
		||||
        entry.name = std::string(reinterpret_cast<const char*>(
 | 
			
		||||
            &file_data[strtab_offset + entry.fs_entry.strtab_offset]));
 | 
			
		||||
        pfs_entries.push_back(entry);
 | 
			
		||||
        pfs_entries.push_back(std::move(entry));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    content_offset = strtab_offset + pfs_header.strtab_size;
 | 
			
		||||
@ -69,7 +70,7 @@ Loader::ResultStatus PartitionFilesystem::Load(const std::vector<u8> file_data,
 | 
			
		||||
    return Loader::ResultStatus::Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 PartitionFilesystem::GetNumEntries(void) const {
 | 
			
		||||
u32 PartitionFilesystem::GetNumEntries() const {
 | 
			
		||||
    return pfs_header.num_entries;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -24,9 +24,9 @@ namespace FileSys {
 | 
			
		||||
class PartitionFilesystem {
 | 
			
		||||
public:
 | 
			
		||||
    Loader::ResultStatus Load(const std::string& file_path, size_t offset = 0);
 | 
			
		||||
    Loader::ResultStatus Load(const std::vector<u8> file_data, size_t offset = 0);
 | 
			
		||||
    Loader::ResultStatus Load(const std::vector<u8>& file_data, size_t offset = 0);
 | 
			
		||||
 | 
			
		||||
    u32 GetNumEntries(void) const;
 | 
			
		||||
    u32 GetNumEntries() const;
 | 
			
		||||
    u64 GetEntryOffset(int index) const;
 | 
			
		||||
    u64 GetEntrySize(int index) const;
 | 
			
		||||
    std::string GetEntryName(int index) const;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user