diff options
| author | rgreenblatt <greenblattryan@gmail.com> | 2021-02-13 20:17:09 -0500 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2021-02-21 11:48:38 +0200 |
| commit | f9be7471bc9a35fcb872a83564d41cdf561ca173 (patch) | |
| tree | c15fd1bf2d5600c537663699e216e198d610a7e2 /lib/std | |
| parent | 340825a7afeb1909ab81c1e0258b81ff67323a2b (diff) | |
| download | zig-f9be7471bc9a35fcb872a83564d41cdf561ca173.tar.gz zig-f9be7471bc9a35fcb872a83564d41cdf561ca173.zip | |
fix readable slice bug (and add tests)
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/fifo.zig | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/std/fifo.zig b/lib/std/fifo.zig index dfd932cb32..b21cb7fc1c 100644 --- a/lib/std/fifo.zig +++ b/lib/std/fifo.zig @@ -153,7 +153,7 @@ pub fn LinearFifo( var start = self.head + offset; if (start >= self.buf.len) { start -= self.buf.len; - return self.buf[start .. self.count - offset]; + return self.buf[start .. start + (self.count - offset)]; } else { const end = math.min(self.head + self.count, self.buf.len); return self.buf[start..end]; @@ -427,6 +427,8 @@ test "LinearFifo(u8, .Dynamic)" { fifo.writeAssumeCapacity("6<chars<11"); testing.expectEqualSlices(u8, "HELLO6<char", fifo.readableSlice(0)); testing.expectEqualSlices(u8, "s<11", fifo.readableSlice(11)); + testing.expectEqualSlices(u8, "11", fifo.readableSlice(13)); + testing.expectEqualSlices(u8, "", fifo.readableSlice(15)); fifo.discard(11); testing.expectEqualSlices(u8, "s<11", fifo.readableSlice(0)); fifo.discard(4); |
