mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
std.zig.readSourceFileToEndAlloc: add file size heuristic
This commit is contained in:
parent
73cfba4d0d
commit
1f93f61958
@ -534,6 +534,11 @@ pub fn readSourceFileToEndAlloc(gpa: Allocator, file_reader: *std.fs.File.Reader
|
|||||||
var buffer: std.ArrayListAlignedUnmanaged(u8, .@"2") = .empty;
|
var buffer: std.ArrayListAlignedUnmanaged(u8, .@"2") = .empty;
|
||||||
defer buffer.deinit(gpa);
|
defer buffer.deinit(gpa);
|
||||||
|
|
||||||
|
if (file_reader.getSize()) |size| {
|
||||||
|
const casted_size = std.math.cast(u32, size) orelse return error.StreamTooLong;
|
||||||
|
try buffer.ensureTotalCapacityPrecise(gpa, casted_size);
|
||||||
|
} else |_| {}
|
||||||
|
|
||||||
try file_reader.interface.appendRemaining(gpa, .@"2", &buffer, .limited(max_src_size));
|
try file_reader.interface.appendRemaining(gpa, .@"2", &buffer, .limited(max_src_size));
|
||||||
|
|
||||||
// Detect unsupported file types with their Byte Order Mark
|
// Detect unsupported file types with their Byte Order Mark
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user