A poolable string builder (aka string buffer) for Zig
0

Configure Feed

Select the types of activity you want to include in your feed.

fix drain (maybe)

Karl Seguin (Jul 15, 2025, 9:34 PM +0800) fdd34230 e2e6262a

+5 -18
+5 -18
src/buffer.zig
··· 244 244 return .{ .new_interface = self.interface }; 245 245 } 246 246 247 - pub fn drain(w: *std.Io.Writer, data: []const []const u8, splat: usize) error{WriteFailed}!usize { 248 - const self: *Writer = @alignCast(@fieldParentPtr("interface", w)); 249 - 250 - var written: usize = 0; 251 - for (data) |d| { 252 - self.w.write(d) catch return error.WriteFailed; 253 - written += d.len; 254 - } 255 - if (splat < 2) { 256 - return written; 257 - } 258 - 259 - const last = data[data.len - 1]; 260 - for (0..splat) |_| { 261 - self.w.write(last) catch return error.WriteFailed; 262 - written += last.len; 263 - } 264 - return written; 247 + pub fn drain(io_w: *std.io.Writer, data: []const []const u8, splat: usize) error{WriteFailed}!usize { 248 + _ = splat; 249 + const self: *Writer = @alignCast(@fieldParentPtr("interface", io_w)); 250 + self.w.write(data[0]) catch return error.WriteFailed; 251 + return data[0].len; 265 252 } 266 253 267 254 // Legacy API