diff options
-rw-r--r-- | include/cru/common/platform/unix/UnixFileStream.hpp | 3 | ||||
-rw-r--r-- | src/common/platform/unix/UnixFileStream.cpp | 14 |
2 files changed, 4 insertions, 13 deletions
diff --git a/include/cru/common/platform/unix/UnixFileStream.hpp b/include/cru/common/platform/unix/UnixFileStream.hpp index 618f7aa3..76355f2f 100644 --- a/include/cru/common/platform/unix/UnixFileStream.hpp +++ b/include/cru/common/platform/unix/UnixFileStream.hpp @@ -20,8 +20,7 @@ class UnixFileStream : public io::Stream { public: bool CanSeek() override; - Index Tell() override; - void Seek(Index offset, SeekOrigin origin = SeekOrigin::Current) override; + Index Seek(Index offset, SeekOrigin origin = SeekOrigin::Current) override; bool CanRead() override; Index Read(std::byte* buffer, Index offset, Index size) override; diff --git a/src/common/platform/unix/UnixFileStream.cpp b/src/common/platform/unix/UnixFileStream.cpp index bb8d4207..dd883497 100644 --- a/src/common/platform/unix/UnixFileStream.cpp +++ b/src/common/platform/unix/UnixFileStream.cpp @@ -74,21 +74,13 @@ bool UnixFileStream::CanSeek() { return true; } -Index UnixFileStream::Tell() { +Index UnixFileStream::Seek(Index offset, SeekOrigin origin) { CheckClosed(); - auto result = ::lseek(file_descriptor_, 0, SEEK_CUR); - if (result == -1) { - throw ErrnoException(u"Failed to get file position."); - } - return result; -} - -void UnixFileStream::Seek(Index offset, SeekOrigin origin) { - CheckClosed(); - int result = ::lseek(file_descriptor_, offset, MapSeekOrigin(origin)); + off_t result = ::lseek(file_descriptor_, offset, MapSeekOrigin(origin)); if (result == -1) { throw ErrnoException(u"Failed to seek file."); } + return result; } bool UnixFileStream::CanRead() { |