aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2019-11-23 13:13:47 +1100
committerdaurnimator <quae@daurnimator.com>2019-11-25 09:26:33 +1100
commit94485b2a58f8efbfb61e46d2efa257420f12a22d (patch)
tree7f92c6a69dbf67355da63ce47b6d488dd6e57d74 /lib/std
parentb4091e3aec1e13350983f8f8df31280b285fe111 (diff)
downloadzig-94485b2a58f8efbfb61e46d2efa257420f12a22d.tar.gz
zig-94485b2a58f8efbfb61e46d2efa257420f12a22d.zip
std: clean up fifo.readableSliceMut
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/fifo.zig13
1 files changed, 5 insertions, 8 deletions
diff --git a/lib/std/fifo.zig b/lib/std/fifo.zig
index bb9d1b2a1d..0b1b881613 100644
--- a/lib/std/fifo.zig
+++ b/lib/std/fifo.zig
@@ -145,16 +145,13 @@ pub fn LinearFifo(
fn readableSliceMut(self: SliceSelfArg, offset: usize) []T {
if (offset > self.count) return [_]T{};
- const start = self.head + offset;
+ var start = self.head + offset;
if (start >= self.buf.len) {
- return self.buf[start - self.buf.len ..][0 .. self.count - offset];
+ start -= self.buf.len;
+ return self.buf[start..self.count - offset];
} else {
- const end: usize = self.head + self.count;
- if (end >= self.buf.len) {
- return self.buf[start..self.buf.len];
- } else {
- return self.buf[start..end];
- }
+ const end = math.min(self.head + self.count, self.buf.len);
+ return self.buf[start..end];
}
}