diff --git a/zig-cat/src/main.zig b/zig-cat/src/main.zig index 2c384d5..9daf487 100644 --- a/zig-cat/src/main.zig +++ b/zig-cat/src/main.zig @@ -3,24 +3,26 @@ const std = @import("std"); pub fn main() !void { for (std.os.argv[1..]) |file_path_sent| { const file_path = std.mem.span(file_path_sent); - const file = try std.fs.openFileAbsolute( + const file = std.fs.openFileAbsolute( file_path, .{ .mode = .read_only }, - ); + ) catch |err| { + std.debug.print("error occurred while opening file: {s}\n", .{@errorName(err)}); + return; + }; defer file.close(); while (true) { - const rw_result = file.reader().streamUntilDelimiter( - std.io.getStdOut().writer(), + var ar = std.ArrayList(u8).init(std.heap.page_allocator); + defer ar.deinit(); + + file.reader().streamUntilDelimiter( + ar.writer(), '\n', null, - ); + ) catch break; - if (rw_result) |_| {} else |_| { - break; - } - - std.debug.print("\n", .{}); + std.debug.print("{s}\n", .{ar.items}); } } }