commit cc2c19f0f1d1aef0dad9f16c15bbd7be0033a7d7
parent 09207408944007a2a81689e5867f31d10cdd3a1f
Author: Oliver Lowe <o@olowe.co>
Date: Mon, 3 Nov 2025 09:33:20 +1100
update to zig 0.15
Diffstat:
3 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/src/build.zig b/src/build.zig
@@ -6,14 +6,14 @@ fn cFiles(name: []const u8) ![][]const u8 {
var dir = try std.fs.cwd().openDir(name, .{.iterate = true});
defer dir.close();
const dba = alloc.allocator();
- var files = std.ArrayList([]const u8).init(dba);
+ var files = std.ArrayList([]const u8).empty;
var iter = dir.iterate();
while (try iter.next()) |dent| {
if (std.mem.endsWith(u8, dent.name, ".c")) {
- try files.append(try std.fs.path.join(dba, &.{name, dent.name}));
+ try files.append(dba, try std.fs.path.join(dba, &.{name, dent.name}));
}
}
- return files.toOwnedSlice();
+ return files.toOwnedSlice(dba);
}
// Although this function looks imperative, note that its job is to
diff --git a/src/build.zig.zon b/src/build.zig.zon
@@ -28,7 +28,7 @@
// Tracks the earliest Zig version that the package considers to be a
// supported use case.
- .minimum_zig_version = "0.14.0+5ad91a646",
+ .minimum_zig_version = "0.15.1+3db960767",
// This field is optional.
// Each dependency must either provide a `url` and `hash`, or a `path`.
diff --git a/src/fence/root.zig b/src/fence/root.zig
@@ -47,22 +47,17 @@ export fn quote_depth(line: [*:0]const u8) c_int {
}
fn copyAfterLine(dst: std.fs.File, src: std.fs.File, key: []const u8) !usize {
- var buf: [8192]u8 = undefined;
- var rd = std.io.bufferedReader(src.reader());
- var r = rd.reader();
- var wr = std.io.bufferedWriter(dst.writer());
- var w = wr.writer();
- var found = false;
- var n: usize = 0;
- while (try r.readUntilDelimiterOrEof(buf[0..], '\n')) |line| {
+ var rbuf: [8192]u8 = undefined;
+ var rd = std.fs.File.reader(src, &rbuf).interface;
+ var wbuf: [8192]u8 = undefined;
+ var wr = std.fs.File.writer(dst, &wbuf).interface;
+ while (true) {
+ const line = try rd.takeDelimiterInclusive('\n');
if (std.mem.startsWith(u8, line, key)) {
- found = true;
- continue;
+ break;
}
- if (!found) continue;
- try w.print("{s}\n", .{line});
- n += (line.len + 1); // + 1 for newline
}
+ const n = try rd.streamRemaining(&wr);
try wr.flush();
return n;
}