Linux build fixes from previous commit

This commit is contained in:
Phillip Stephens 2025-04-26 12:53:12 -07:00
parent 304135f38a
commit 4f3531dd1f
2 changed files with 24 additions and 24 deletions

View File

@ -8,14 +8,14 @@
#endif #endif
namespace athena::io { namespace athena::io {
FileReader::FileReader(std::string_view filename, atInt32 cacheSize, bool globalErr) FileReader::FileReader(std::string_view filename, int32_t cacheSize, bool globalErr)
: m_fileHandle(nullptr), m_cacheData(nullptr), m_offset(0), m_globalErr(globalErr) { : m_fileHandle(nullptr), m_cacheData(nullptr), m_offset(0), m_globalErr(globalErr) {
m_filename = filename; m_filename = filename;
open(); open();
setCacheSize(cacheSize); setCacheSize(cacheSize);
} }
FileReader::FileReader(std::wstring_view filename, atInt32 cacheSize, bool globalErr) FileReader::FileReader(std::wstring_view filename, int32_t cacheSize, bool globalErr)
: m_fileHandle(nullptr), m_cacheData(nullptr), m_offset(0), m_globalErr(globalErr) { : m_fileHandle(nullptr), m_cacheData(nullptr), m_offset(0), m_globalErr(globalErr) {
m_filename = utility::wideToUtf8(filename); m_filename = utility::wideToUtf8(filename);
open(); open();
@ -57,7 +57,7 @@ void FileReader::close() {
return; return;
} }
void FileReader::seek(atInt64 pos, SeekOrigin origin) { void FileReader::seek(int64_t pos, SeekOrigin origin) {
if (!isOpen()) if (!isOpen())
return; return;
@ -82,10 +82,10 @@ void FileReader::seek(atInt64 pos, SeekOrigin origin) {
} }
size_t block = m_offset / m_blockSize; size_t block = m_offset / m_blockSize;
if (atInt32(block) != m_curBlock) { if (int32_t(block) != m_curBlock) {
fseeko64(m_fileHandle, block * m_blockSize, SEEK_SET); fseeko64(m_fileHandle, block * m_blockSize, SEEK_SET);
fread(m_cacheData.get(), 1, m_blockSize, m_fileHandle); fread(m_cacheData.get(), 1, m_blockSize, m_fileHandle);
m_curBlock = atInt32(block); m_curBlock = int32_t(block);
} }
} else if (fseeko64(m_fileHandle, pos, int(origin)) != 0) { } else if (fseeko64(m_fileHandle, pos, int(origin)) != 0) {
if (m_globalErr) if (m_globalErr)
@ -94,7 +94,7 @@ void FileReader::seek(atInt64 pos, SeekOrigin origin) {
} }
} }
atUint64 FileReader::position() const { uint64_t FileReader::position() const {
if (!isOpen()) { if (!isOpen()) {
if (m_globalErr) if (m_globalErr)
atError("File not open"); atError("File not open");
@ -104,10 +104,10 @@ atUint64 FileReader::position() const {
if (m_blockSize > 0) if (m_blockSize > 0)
return m_offset; return m_offset;
else else
return atUint64(ftello64(m_fileHandle)); return uint64_t(ftello64(m_fileHandle));
} }
atUint64 FileReader::length() const { uint64_t FileReader::length() const {
if (!isOpen()) { if (!isOpen()) {
if (m_globalErr) if (m_globalErr)
atError("File not open"); atError("File not open");
@ -117,7 +117,7 @@ atUint64 FileReader::length() const {
return m_fileSize; return m_fileSize;
} }
atUint64 FileReader::readUBytesToBuf(void* buf, atUint64 len) { uint64_t FileReader::readUBytesToBuf(void* buf, uint64_t len) {
if (!isOpen()) { if (!isOpen()) {
if (m_globalErr) if (m_globalErr)
atError("File not open for reading"); atError("File not open for reading");
@ -134,20 +134,20 @@ atUint64 FileReader::readUBytesToBuf(void* buf, atUint64 len) {
len = m_fileSize - m_offset; len = m_fileSize - m_offset;
size_t block = m_offset / m_blockSize; size_t block = m_offset / m_blockSize;
atUint64 cacheOffset = m_offset % m_blockSize; uint64_t cacheOffset = m_offset % m_blockSize;
atUint64 cacheSize; uint64_t cacheSize;
atUint64 rem = len; uint64_t rem = len;
atUint8* dst = (atUint8*)buf; uint8_t* dst = (uint8_t*)buf;
while (rem) { while (rem) {
if (atInt32(block) != m_curBlock) { if (int32_t(block) != m_curBlock) {
fseeko64(m_fileHandle, block * m_blockSize, SEEK_SET); fseeko64(m_fileHandle, block * m_blockSize, SEEK_SET);
fread(m_cacheData.get(), 1, m_blockSize, m_fileHandle); fread(m_cacheData.get(), 1, m_blockSize, m_fileHandle);
m_curBlock = atInt32(block); m_curBlock = int32_t(block);
} }
cacheSize = rem; cacheSize = rem;
if (atInt32(cacheSize + cacheOffset) > m_blockSize) if (int32_t(cacheSize + cacheOffset) > m_blockSize)
cacheSize = m_blockSize - cacheOffset; cacheSize = m_blockSize - cacheOffset;
memmove(dst, m_cacheData.get() + cacheOffset, cacheSize); memmove(dst, m_cacheData.get() + cacheOffset, cacheSize);
@ -157,20 +157,20 @@ atUint64 FileReader::readUBytesToBuf(void* buf, atUint64 len) {
++block; ++block;
} }
m_offset += len; m_offset += len;
return atUint64(dst - reinterpret_cast<atUint8*>(buf)); return uint64_t(dst - reinterpret_cast<uint8_t*>(buf));
} }
} }
void FileReader::setCacheSize(const atInt32 blockSize) { void FileReader::setCacheSize(const int32_t blockSize) {
m_blockSize = blockSize; m_blockSize = blockSize;
atInt32 len = atInt32(length()); int32_t len = int32_t(length());
if (m_blockSize > len) if (m_blockSize > len)
m_blockSize = len; m_blockSize = len;
m_curBlock = -1; m_curBlock = -1;
if (m_blockSize > 0) if (m_blockSize > 0)
m_cacheData.reset(new atUint8[m_blockSize]); m_cacheData.reset(new uint8_t[m_blockSize]);
} }
} // namespace athena::io } // namespace athena::io

View File

@ -79,7 +79,7 @@ void FileWriter::close() {
rename(tmpFilename.c_str(), m_filename.c_str()); rename(tmpFilename.c_str(), m_filename.c_str());
} }
void FileWriter::seek(atInt64 pos, SeekOrigin origin) { void FileWriter::seek(int64_t pos, SeekOrigin origin) {
if (!isOpen()) { if (!isOpen()) {
if (m_globalErr) if (m_globalErr)
atError("Unable to seek in file, not open"); atError("Unable to seek in file, not open");
@ -94,11 +94,11 @@ void FileWriter::seek(atInt64 pos, SeekOrigin origin) {
} }
} }
atUint64 FileWriter::position() const { return atUint64(ftello64(m_fileHandle)); } uint64_t FileWriter::position() const { return uint64_t(ftello64(m_fileHandle)); }
atUint64 FileWriter::length() const { return utility::fileSize(m_filename); } uint64_t FileWriter::length() const { return utility::fileSize(m_filename); }
void FileWriter::writeUBytes(const atUint8* data, atUint64 len) { void FileWriter::writeUBytes(const uint8_t* data, uint64_t len) {
if (!isOpen()) { if (!isOpen()) {
if (m_globalErr) if (m_globalErr)
atError("File not open for writing"); atError("File not open for writing");