talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

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:
Msrc/build.zig | 6+++---
Msrc/build.zig.zon | 2+-
Msrc/fence/root.zig | 21++++++++-------------
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; }