From cc351d68baa8f9ccf3420850db5a4b75600e9c07 Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Thu, 30 Dec 2021 07:27:01 +0000 Subject: [PATCH] Refactoring --- src/main.zig | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main.zig b/src/main.zig index 073f26b..a5de58a 100644 --- a/src/main.zig +++ b/src/main.zig @@ -35,6 +35,19 @@ fn dumpInput(in: fs.File, out: fs.File, allocator: mem.Allocator) !void { } } +const LineIterator = struct { + reader: io.BufferedReader(4096, fs.File.Reader), + delimiter: u8, + allocator: mem.Allocator, + + const Self = @This(); + + /// Caller owns returned memory + pub fn next(self: *Self) ?[]u8 { + return self.reader.reader().readUntilDelimiterOrEofAlloc(self.allocator, self.delimiter, 4096) catch null; + } +}; + fn lineIterator(reader: fs.File.Reader, allocator: mem.Allocator) LineIterator { return LineIterator { .reader = io.bufferedReader(reader), @@ -62,19 +75,6 @@ test "lineIterator returns lines in buffer" { try testing.expect(eof == null); } -const LineIterator = struct { - reader: io.BufferedReader(4096, fs.File.Reader), - delimiter: u8, - allocator: mem.Allocator, - - const Self = @This(); - - /// Caller owns returned memory - pub fn next(self: *Self) ?[]u8 { - return self.reader.reader().readUntilDelimiterOrEofAlloc(self.allocator, self.delimiter, 4096) catch null; - } -}; - // trim annoying windows-only carriage return character fn windowsSafe(line: []const u8) []const u8 { if (os.tag == .windows) {