commit cc2c19f0f1d1aef0dad9f16c15bbd7be0033a7d7 from: Oliver Lowe date: Sun Nov 2 22:33:20 2025 UTC update to zig 0.15 commit - 09207408944007a2a81689e5867f31d10cdd3a1f commit + cc2c19f0f1d1aef0dad9f16c15bbd7be0033a7d7 blob - 6245796cd9c80ce1087f093ac83a7edf902fc8c1 blob + 79b404665f097572beb2a588a1274f55a2b80f46 --- src/build.zig +++ 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 blob - b6c74d01101c214d2769b34f25ee5c3ffda49a98 blob + 1f4b9624c8320a2cb1e3200c6fc4e19d5466f327 --- src/build.zig.zon +++ 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`. blob - 3db3c90ce76ac72f363922645c8e805460932a7c blob + b42b530053c52a76fa9cf58c10331402db36db04 --- src/fence/root.zig +++ 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; }