mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 20:17:44 +00:00
LibCore+Tests: Add SeekableStream::truncate()
This commit is contained in:
parent
d9fb1b8c2e
commit
4d5080388a
4 changed files with 27 additions and 0 deletions
|
@ -81,6 +81,9 @@ public:
|
|||
/// Returns the total size of the stream, or an errno in the case of an
|
||||
/// error. May not preserve the original position on the stream on failure.
|
||||
virtual ErrorOr<off_t> size();
|
||||
/// Shrinks or extends the stream to the given size. Returns an errno in
|
||||
/// the case of an error.
|
||||
virtual ErrorOr<void> truncate(off_t length) = 0;
|
||||
};
|
||||
|
||||
/// The Socket class is the base class for all concrete BSD-style socket
|
||||
|
@ -197,6 +200,7 @@ public:
|
|||
virtual bool is_open() const override;
|
||||
virtual void close() override;
|
||||
virtual ErrorOr<off_t> seek(i64 offset, SeekMode) override;
|
||||
virtual ErrorOr<void> truncate(off_t length) override;
|
||||
|
||||
virtual ~File() override { close(); }
|
||||
|
||||
|
@ -757,6 +761,10 @@ public:
|
|||
m_helper.clear_buffer();
|
||||
return result;
|
||||
}
|
||||
virtual ErrorOr<void> truncate(off_t length) override
|
||||
{
|
||||
return m_helper.stream().truncate(length);
|
||||
}
|
||||
|
||||
ErrorOr<size_t> read_line(Bytes buffer) { return m_helper.read_line(move(buffer)); }
|
||||
ErrorOr<size_t> read_until(Bytes buffer, StringView candidate) { return m_helper.read_until(move(buffer), move(candidate)); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue