authorgravatar for quae@daurnimator.comdaurnimator <quae@daurnimator.com> 2019-11-23 13:13:47+11:00
committergravatar for quae@daurnimator.comdaurnimator <quae@daurnimator.com> 2019-11-25 09:26:33+11:00
log94485b2a58f8efbfb61e46d2efa257420f12a22d
tree7f92c6a69dbf67355da63ce47b6d488dd6e57d74
parentb4091e3aec1e13350983f8f8df31280b285fe111
signature Commit is signed but in an unrecognized format.

std: clean up fifo.readableSliceMut


1 files changed, 5 insertions(+), 8 deletions(-)

lib/std/fifo.zig+5-8
...@@ -145,16 +145,13 @@ pub fn LinearFifo(...@@ -145,16 +145,13 @@ pub fn LinearFifo(
145 fn readableSliceMut(self: SliceSelfArg, offset: usize) []T {145 fn readableSliceMut(self: SliceSelfArg, offset: usize) []T {
146 if (offset > self.count) return [_]T{};146 if (offset > self.count) return [_]T{};
147147
148 const start = self.head + offset;148 var start = self.head + offset;
149 if (start >= self.buf.len) {149 if (start >= self.buf.len) {
150 return self.buf[start - self.buf.len ..][0 .. self.count - offset];150 start -= self.buf.len;
151 return self.buf[start..self.count - offset];
151 } else {152 } else {
152 const end: usize = self.head + self.count;153 const end = math.min(self.head + self.count, self.buf.len);
153 if (end >= self.buf.len) {154 return self.buf[start..end];
154 return self.buf[start..self.buf.len];
155 } else {
156 return self.buf[start..end];
157 }
158 }155 }
159 }156 }
160157