From 8dec0da7fbbe80b15c24482125142e172c9a4cf4 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 5 Feb 2026 01:59:06 -0800 Subject: [PATCH] make Readable.readUntilDelimitersArrayList() return the slice it read --- nio.zig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nio.zig b/nio.zig index 63ed16340acdd58cc0cf933424d2d62f617183f3..01e04e491d12ce7309cfcc6323429430e1df4051 100644 --- a/nio.zig +++ b/nio.zig @@ -108,10 +108,11 @@ pub fn Readable(T: type, this_kind: enum { _var, _const, _bare }) type { return error.StreamTooLong; } - pub fn readUntilDelimitersArrayList(self: Self, array_list: *std.ArrayList(u8), needle: []const u8, max_size: usize) !usize { + pub fn readUntilDelimitersArrayList(self: Self, array_list: *std.ArrayList(u8), needle: []const u8, max_size: usize) ![]u8 { + const initial_len = array_list.items.len; for (0..max_size) |i| { try array_list.append(try readByte(self)); - if (std.mem.endsWith(u8, array_list.items, needle)) return i + 1 - needle.len; + if (std.mem.endsWith(u8, array_list.items, needle)) return array_list.items[initial_len..][0 .. i + 1 - needle.len]; } return error.StreamTooLong; } -- 2.54.0