| ... | @@ -998,13 +998,13 @@ pub const CObject = struct { | ... | @@ -998,13 +998,13 @@ pub const CObject = struct { |
| 998 | | 998 | |
| 999 | const file = fs.cwd().openFile(file_name, .{}) catch break :source_line 0; | 999 | const file = fs.cwd().openFile(file_name, .{}) catch break :source_line 0; |
| 1000 | defer file.close(); | 1000 | defer file.close(); |
| 1001 | file.seekTo(diag.src_loc.offset + 1 - diag.src_loc.column) catch break :source_line 0; | 1001 | var buffer: [1024]u8 = undefined; |
| 1002 | | 1002 | var file_reader = file.reader(&buffer); |
| 1003 | var line = std.ArrayList(u8).init(eb.gpa); | 1003 | file_reader.seekTo(diag.src_loc.offset + 1 - diag.src_loc.column) catch break :source_line 0; |
| 1004 | defer line.deinit(); | 1004 | var aw: Writer.Allocating = .init(eb.gpa); |
| 1005 | file.deprecatedReader().readUntilDelimiterArrayList(&line, '\n', 1 << 10) catch break :source_line 0; | 1005 | defer aw.deinit(); |
| 1006 | | 1006 | _ = file_reader.interface.streamDelimiterEnding(&aw.writer, '\n') catch break :source_line 0; |
| 1007 | break :source_line try eb.addString(line.items); | 1007 | break :source_line try eb.addString(aw.getWritten()); |
| 1008 | }; | 1008 | }; |
| 1009 | | 1009 | |
| 1010 | return .{ | 1010 | return .{ |