diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-12-08 23:14:34 -0800 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-12-23 22:15:09 -0800 |
| commit | 03526c59d4e2a00f83347cf06c741a3ed4fec520 (patch) | |
| tree | 42f6f8f29ab7d233ae7f043021f2fdeb16ff3b40 /lib/std/debug.zig | |
| parent | 5b436d2c5125b9cf9a08b3bff0dcb0248c4d1ec0 (diff) | |
| download | zig-03526c59d4e2a00f83347cf06c741a3ed4fec520.tar.gz zig-03526c59d4e2a00f83347cf06c741a3ed4fec520.zip | |
std.debug: fix printLineFromFile
Diffstat (limited to 'lib/std/debug.zig')
| -rw-r--r-- | lib/std/debug.zig | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/std/debug.zig b/lib/std/debug.zig index 6ffa254271..7b111215f3 100644 --- a/lib/std/debug.zig +++ b/lib/std/debug.zig @@ -1207,9 +1207,8 @@ fn printLineFromFile(io: Io, writer: *Writer, source_location: SourceLocation) ! var buffer: [4096]u8 = undefined; var file_reader: File.Reader = .init(file, io, &buffer); - const r = &file_reader.interface; var line_index: usize = 0; - while (r.takeDelimiterExclusive('\n')) |line| { + while (try file_reader.interface.takeDelimiter('\n')) |line| { line_index += 1; if (line_index == source_location.line) { // TODO delete hard tabs from the language @@ -1219,9 +1218,8 @@ fn printLineFromFile(io: Io, writer: *Writer, source_location: SourceLocation) ! try writer.writeByte('\n'); return; } - } else |err| { - return err; } + return error.EndOfStream; } test printLineFromFile { @@ -1248,7 +1246,7 @@ test printLineFromFile { defer gpa.free(path); try test_dir.dir.writeFile(io, .{ .sub_path = "one_line.zig", .data = "no new lines in this file, but one is printed anyway" }); - try expectError(error.EndOfFile, printLineFromFile(io, output_stream, .{ .file_name = path, .line = 2, .column = 0 })); + try expectError(error.EndOfStream, printLineFromFile(io, output_stream, .{ .file_name = path, .line = 2, .column = 0 })); try printLineFromFile(io, output_stream, .{ .file_name = path, .line = 1, .column = 0 }); try expectEqualStrings("no new lines in this file, but one is printed anyway\n", aw.written()); @@ -1317,7 +1315,7 @@ test printLineFromFile { const writer = &file_writer.interface; try writer.splatByteAll('a', 3 * std.heap.page_size_max); - try expectError(error.EndOfFile, printLineFromFile(io, output_stream, .{ .file_name = path, .line = 2, .column = 0 })); + try expectError(error.EndOfStream, printLineFromFile(io, output_stream, .{ .file_name = path, .line = 2, .column = 0 })); try printLineFromFile(io, output_stream, .{ .file_name = path, .line = 1, .column = 0 }); try expectEqualStrings(("a" ** (3 * std.heap.page_size_max)) ++ "\n", aw.written()); |
