about summary refs log tree commit diff
path: root/src/gen.zig
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2025-10-18 01:33:05 +0200
committerRobert Günzler <r@gnzler.io>2025-10-18 03:17:43 +0200
commit98c4afd018532adc6b3c6011027f069541b82ee9 (patch)
tree0c5e7498159f37cf7d0dccfdc880c1f3dd5d6642 /src/gen.zig
parent01a086a3c8cb08566dddd833c940a6c97db8bc35 (diff)
downloadsite-98c4afd018532adc6b3c6011027f069541b82ee9.tar.gz
% fix mtimes
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '')
-rw-r--r--src/gen.zig13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/gen.zig b/src/gen.zig
index 4b9735d..2a01590 100644
--- a/src/gen.zig
+++ b/src/gen.zig
@@ -6,6 +6,9 @@ const fs = @import("fs.zig");
 const exe = @import("exe.zig");
 
 pub fn fixMtimes(ctx: *Context) !void {
+    var buf: [2 * std.os.linux.PATH_MAX]u8 = undefined;
+    var fba = std.heap.FixedBufferAllocator.init(&buf);
+
     ctx.progress_start("Fix mtimes");
     defer ctx.progress_end();
 
@@ -14,13 +17,11 @@ pub fn fixMtimes(ctx: *Context) !void {
         ctx.progress_start(p);
         defer ctx.progress_end();
 
-        const path = try fs.joinPathAndFilename(ctx.allocator(), &.{Context.params.PAGE_PATH}, &.{p});
-        defer ctx.allocator().free(path);
-
-        const mdpath = try fs.replaceExtension(ctx.allocator(), p, "md");
-        defer ctx.allocator().free(mdpath);
+        const path = try fs.joinPathAndFilename(fba.allocator(), &.{Context.params.PAGE_PATH}, &.{p});
+        const mdpath = try fs.replaceExtension(fba.allocator(), path, "md");
+        defer fba.reset();
 
-        std.fs.cwd().access(mdpath, .{ .mode = .read_only }) catch {
+        std.fs.cwd().access(mdpath, .{}) catch {
             // only set mtime from git if no markdown source is used
             const ts = fs.getGitTime(path) catch continue;
             try fs.setMtime(path, ts);