| ... | @@ -448,3 +448,12 @@ pub fn readBytesAlloc(reader: anytype, alloc: std.mem.Allocator, len: usize) ![] | ... | @@ -448,3 +448,12 @@ pub fn readBytesAlloc(reader: anytype, alloc: std.mem.Allocator, len: usize) ![] |
| 448 | try reader.readNoEof(list.items[0..len]); | 448 | try reader.readNoEof(list.items[0..len]); |
| 449 | return list.items; | 449 | return list.items; |
| 450 | } | 450 | } |
| | 451 | |
| | 452 | pub fn readFile(dir: std.fs.Dir, sub_path: string, alloc: std.mem.Allocator) !string { |
| | 453 | var file = try dir.openFile(sub_path, .{}); |
| | 454 | defer file.close(); |
| | 455 | const stat = try file.stat(); |
| | 456 | var buffer = try std.ArrayList(u8).initCapacity(alloc, stat.size); |
| | 457 | pipe(file.reader(), buffer.writer()) catch @panic("unreachable"); // did the filesystem lie? |
| | 458 | return buffer.items; |
| | 459 | } |