aboutsummaryrefslogtreecommitdiff
path: root/lib/std/debug.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-12-08 23:14:34 -0800
committerAndrew Kelley <andrew@ziglang.org>2025-12-23 22:15:09 -0800
commit03526c59d4e2a00f83347cf06c741a3ed4fec520 (patch)
tree42f6f8f29ab7d233ae7f043021f2fdeb16ff3b40 /lib/std/debug.zig
parent5b436d2c5125b9cf9a08b3bff0dcb0248c4d1ec0 (diff)
downloadzig-03526c59d4e2a00f83347cf06c741a3ed4fec520.tar.gz
zig-03526c59d4e2a00f83347cf06c741a3ed4fec520.zip
std.debug: fix printLineFromFile
Diffstat (limited to 'lib/std/debug.zig')
-rw-r--r--lib/std/debug.zig10
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());