Archive: Correct a few incorrect types in function signatures

Buffer lengths should be size_t, and file offsets should be u64.
This commit is contained in:
Yuri Kunde Schlesner 2015-07-13 20:43:34 -03:00
parent 2d7299a86f
commit a1f08788d9
6 changed files with 22 additions and 22 deletions

View File

@ -105,12 +105,12 @@ bool DiskFile::Open() {
return true; return true;
} }
size_t DiskFile::Read(const u64 offset, const u32 length, u8* buffer) const { size_t DiskFile::Read(const u64 offset, const size_t length, u8* buffer) const {
file->Seek(offset, SEEK_SET); file->Seek(offset, SEEK_SET);
return file->ReadBytes(buffer, length); return file->ReadBytes(buffer, length);
} }
size_t DiskFile::Write(const u64 offset, const u32 length, const u32 flush, const u8* buffer) const { size_t DiskFile::Write(const u64 offset, const size_t length, const bool flush, const u8* buffer) const {
file->Seek(offset, SEEK_SET); file->Seek(offset, SEEK_SET);
size_t written = file->WriteBytes(buffer, length); size_t written = file->WriteBytes(buffer, length);
if (flush) if (flush)
@ -118,8 +118,8 @@ size_t DiskFile::Write(const u64 offset, const u32 length, const u32 flush, cons
return written; return written;
} }
size_t DiskFile::GetSize() const { u64 DiskFile::GetSize() const {
return static_cast<size_t>(file->GetSize()); return file->GetSize();
} }
bool DiskFile::SetSize(const u64 size) const { bool DiskFile::SetSize(const u64 size) const {

View File

@ -55,10 +55,10 @@ public:
DiskFile(const DiskArchive& archive, const Path& path, const Mode mode); DiskFile(const DiskArchive& archive, const Path& path, const Mode mode);
bool Open() override; bool Open() override;
size_t Read(const u64 offset, const u32 length, u8* buffer) const override; size_t Read(u64 offset, size_t length, u8* buffer) const override;
size_t Write(const u64 offset, const u32 length, const u32 flush, const u8* buffer) const override; size_t Write(u64 offset, size_t length, bool flush, const u8* buffer) const override;
size_t GetSize() const override; u64 GetSize() const override;
bool SetSize(const u64 size) const override; bool SetSize(u64 size) const override;
bool Close() const override; bool Close() const override;
void Flush() const override { void Flush() const override {

View File

@ -31,7 +31,7 @@ public:
* @param buffer Buffer to read data into * @param buffer Buffer to read data into
* @return Number of bytes read * @return Number of bytes read
*/ */
virtual size_t Read(const u64 offset, const u32 length, u8* buffer) const = 0; virtual size_t Read(u64 offset, size_t length, u8* buffer) const = 0;
/** /**
* Write data to the file * Write data to the file
@ -41,20 +41,20 @@ public:
* @param buffer Buffer to read data from * @param buffer Buffer to read data from
* @return Number of bytes written * @return Number of bytes written
*/ */
virtual size_t Write(const u64 offset, const u32 length, const u32 flush, const u8* buffer) const = 0; virtual size_t Write(u64 offset, size_t length, bool flush, const u8* buffer) const = 0;
/** /**
* Get the size of the file in bytes * Get the size of the file in bytes
* @return Size of the file in bytes * @return Size of the file in bytes
*/ */
virtual size_t GetSize() const = 0; virtual u64 GetSize() const = 0;
/** /**
* Set the size of the file in bytes * Set the size of the file in bytes
* @param size New size of the file * @param size New size of the file
* @return true if successful * @return true if successful
*/ */
virtual bool SetSize(const u64 size) const = 0; virtual bool SetSize(u64 size) const = 0;
/** /**
* Close the file * Close the file

View File

@ -61,21 +61,21 @@ std::unique_ptr<DirectoryBackend> IVFCArchive::OpenDirectory(const Path& path) c
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////
size_t IVFCFile::Read(const u64 offset, const u32 length, u8* buffer) const { size_t IVFCFile::Read(const u64 offset, const size_t length, u8* buffer) const {
LOG_TRACE(Service_FS, "called offset=%llu, length=%d", offset, length); LOG_TRACE(Service_FS, "called offset=%llu, length=%d", offset, length);
romfs_file->Seek(data_offset + offset, SEEK_SET); romfs_file->Seek(data_offset + offset, SEEK_SET);
u32 read_length = (u32)std::min((u64)length, data_size - offset); size_t read_length = (size_t)std::min((u64)length, data_size - offset);
return romfs_file->ReadBytes(buffer, read_length); return romfs_file->ReadBytes(buffer, read_length);
} }
size_t IVFCFile::Write(const u64 offset, const u32 length, const u32 flush, const u8* buffer) const { size_t IVFCFile::Write(const u64 offset, const size_t length, const bool flush, const u8* buffer) const {
LOG_ERROR(Service_FS, "Attempted to write to IVFC file"); LOG_ERROR(Service_FS, "Attempted to write to IVFC file");
return 0; return 0;
} }
size_t IVFCFile::GetSize() const { u64 IVFCFile::GetSize() const {
return data_size; // TODO: return value will overflow on 32-bit machines return data_size;
} }
bool IVFCFile::SetSize(const u64 size) const { bool IVFCFile::SetSize(const u64 size) const {

View File

@ -55,10 +55,10 @@ public:
: romfs_file(file), data_offset(offset), data_size(size) {} : romfs_file(file), data_offset(offset), data_size(size) {}
bool Open() override { return true; } bool Open() override { return true; }
size_t Read(const u64 offset, const u32 length, u8* buffer) const override; size_t Read(u64 offset, size_t length, u8* buffer) const override;
size_t Write(const u64 offset, const u32 length, const u32 flush, const u8* buffer) const override; size_t Write(u64 offset, size_t length, bool flush, const u8* buffer) const override;
size_t GetSize() const override; u64 GetSize() const override;
bool SetSize(const u64 size) const override; bool SetSize(u64 size) const override;
bool Close() const override { return false; } bool Close() const override { return false; }
void Flush() const override { } void Flush() const override { }

View File

@ -116,7 +116,7 @@ ResultVal<bool> File::SyncRequest() {
u32 address = cmd_buff[6]; u32 address = cmd_buff[6];
LOG_TRACE(Service_FS, "Write %s %s: offset=0x%llx length=%d address=0x%x, flush=0x%x", LOG_TRACE(Service_FS, "Write %s %s: offset=0x%llx length=%d address=0x%x, flush=0x%x",
GetTypeName().c_str(), GetName().c_str(), offset, length, address, flush); GetTypeName().c_str(), GetName().c_str(), offset, length, address, flush);
cmd_buff[2] = static_cast<u32>(backend->Write(offset, length, flush, Memory::GetPointer(address))); cmd_buff[2] = static_cast<u32>(backend->Write(offset, length, flush != 0, Memory::GetPointer(address)));
break; break;
} }