| 11 | Stream::~Stream() = default; |
| 12 | |
| 13 | void Stream::Seek(s32 offset, SeekOrigin origin) { |
| 14 | if (origin == SeekOrigin::SetOrigin) { |
| 15 | if (offset < 0) { |
| 16 | position = 0; |
| 17 | } else if (position >= buffer.size()) { |
| 18 | position = buffer.size(); |
| 19 | } else { |
| 20 | position = offset; |
| 21 | } |
| 22 | } else if (origin == SeekOrigin::FromCurrentPos) { |
| 23 | Seek(static_cast<s32>(position) + offset, SeekOrigin::SetOrigin); |
| 24 | } else if (origin == SeekOrigin::FromEnd) { |
| 25 | Seek(static_cast<s32>(buffer.size()) - offset, SeekOrigin::SetOrigin); |
| 26 | } |
| 27 | } |
| 28 | |
| 29 | u8 Stream::ReadByte() { |
| 30 | if (position < buffer.size()) { |
no test coverage detected