aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/cru/common/platform/unix/UnixFileStream.hpp3
-rw-r--r--src/common/platform/unix/UnixFileStream.cpp14
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() {