diff --git a/Libraries/LibCore/IODevice.cpp b/Libraries/LibCore/IODevice.cpp index df69d3b182..22d4eb994b 100644 --- a/Libraries/LibCore/IODevice.cpp +++ b/Libraries/LibCore/IODevice.cpp @@ -266,6 +266,16 @@ bool IODevice::seek(i64 offset, SeekMode mode, off_t* pos) return true; } +bool IODevice::truncate(off_t size) +{ + int rc = ftruncate(m_fd, size); + if (rc < 0) { + set_error(errno); + return false; + } + return true; +} + bool IODevice::write(const u8* data, int size) { int rc = ::write(m_fd, data, size); diff --git a/Libraries/LibCore/IODevice.h b/Libraries/LibCore/IODevice.h index 8c8ee6beb6..2fe1e93e65 100644 --- a/Libraries/LibCore/IODevice.h +++ b/Libraries/LibCore/IODevice.h @@ -65,6 +65,8 @@ public: bool write(const u8*, int size); bool write(const StringView&); + bool truncate(off_t); + bool can_read_line() const; bool can_read() const;