From 98c4afd018532adc6b3c6011027f069541b82ee9 Mon Sep 17 00:00:00 2001
From: Robert Günzler
Date: Sat, 18 Oct 2025 01:33:05 +0200
Subject: % fix mtimes
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Robert Günzler
---
site/2025.html | 2 +-
site/about.html | 2 +-
site/audio.html | 2 +-
site/gsix.html | 2 +-
site/hokkaido.html | 2 +-
site/ibaraki.html | 2 +-
site/index.html | 2 +-
site/japan.html | 2 +-
site/kamakura.html | 2 +-
site/like.html | 2 +-
site/niigata.html | 2 +-
site/nikko.html | 2 +-
site/notes.html | 2 +-
site/pyonji.html | 2 +-
site/shikoku.html | 2 +-
site/toyama.html | 2 +-
site/yamanashi.html | 2 +-
src/fs.zig | 15 +++++++--------
src/gen.zig | 13 +++++++------
19 files changed, 31 insertions(+), 31 deletions(-)
diff --git a/site/2025.html b/site/2025.html
index 6bb2090..051de58 100644
--- a/site/2025.html
+++ b/site/2025.html
@@ -208,7 +208,7 @@ target="_blank">fixed an aerc stylesheet bug
-Edited on 2025-09-24 [src]
+Edited on 2025-06-09 [src]
[comments]
robertgzr
diff --git a/site/like.html b/site/like.html
index 1047c7d..ac6c92a 100644
--- a/site/like.html
+++ b/site/like.html
@@ -68,7 +68,7 @@ target="_blank">[?]
-Edited on 2025-10-07 [src]
+Edited on 2025-10-06 [src]
[comments]
robertgzr
diff --git a/site/niigata.html b/site/niigata.html
index d50eaec..3744f3a 100644
--- a/site/niigata.html
+++ b/site/niigata.html
@@ -52,7 +52,7 @@
-Edited on 2025-01-07 [src]
+Edited on 2024-10-16 [src]
[comments]
robertgzr
diff --git a/site/nikko.html b/site/nikko.html
index 2dcf6bb..8cd8dc1 100644
--- a/site/nikko.html
+++ b/site/nikko.html
@@ -234,7 +234,7 @@ href="#fnref5" class="footnote-back" role="doc-backlink">↩︎
-Edited on 2025-02-13 [src]
+Edited on 2025-02-26 [src]
[comments]
robertgzr
diff --git a/site/notes.html b/site/notes.html
index 423dbfe..1f0d01b 100644
--- a/site/notes.html
+++ b/site/notes.html
@@ -42,7 +42,7 @@
-Edited on 2025-10-07 [src]
+Edited on 2025-10-06 [src]
[comments]
robertgzr
diff --git a/site/pyonji.html b/site/pyonji.html
index e05bf59..105deb2 100644
--- a/site/pyonji.html
+++ b/site/pyonji.html
@@ -67,7 +67,7 @@ href="https://git.sr.ht/~robertgzr/pyonji/log/devel" class="uri"
target="_blank">https://git.sr.ht/~robertgzr/pyonji/log/devel
-Edited on 2025-08-11 [src]
+Edited on 2025-07-25 [src]
[comments]
robertgzr
diff --git a/site/shikoku.html b/site/shikoku.html
index 2e43990..34ed94b 100644
--- a/site/shikoku.html
+++ b/site/shikoku.html
@@ -48,7 +48,7 @@
-Edited on 2025-01-07 [src]
+Edited on 2024-10-16 [src]
[comments]
robertgzr
diff --git a/site/toyama.html b/site/toyama.html
index 81000f0..8998f20 100644
--- a/site/toyama.html
+++ b/site/toyama.html
@@ -54,7 +54,7 @@
-Edited on 2025-01-07 [src]
+Edited on 2024-10-16 [src]
[comments]
robertgzr
diff --git a/site/yamanashi.html b/site/yamanashi.html
index aeb71dd..f548393 100644
--- a/site/yamanashi.html
+++ b/site/yamanashi.html
@@ -71,7 +71,7 @@
-Edited on 2025-01-07 [src]
+Edited on 2024-10-16 [src]
[comments]
robertgzr
diff --git a/src/fs.zig b/src/fs.zig
index adcd0c3..8eaf7c2 100644
--- a/src/fs.zig
+++ b/src/fs.zig
@@ -127,20 +127,19 @@ pub fn stripExtension(path: []const u8) ![]const u8 {
}
pub fn joinPathAndFilename(alloc: std.mem.Allocator, paths: []const []const u8, filename_parts: []const []const u8) ![]const u8 {
- const filename = try std.mem.concat(alloc, u8, filename_parts);
- defer alloc.free(filename);
+ var buf: [std.os.linux.PATH_MAX]u8 = undefined;
+ var fba = std.heap.FixedBufferAllocator.init(&buf);
- var p = try std.ArrayList([]const u8).initCapacity(alloc, paths.len + 1);
+ const filename = try std.mem.concat(fba.allocator(), u8, filename_parts);
+
+ var p = try std.ArrayList([]const u8).initCapacity(fba.allocator(), paths.len + 1);
defer p.deinit();
p.appendSliceAssumeCapacity(paths);
p.appendAssumeCapacity(filename);
- const paths2 = try p.toOwnedSlice();
- defer alloc.free(paths2);
-
- std.debug.assert(paths.len + 1 == paths2.len);
- return try std.fs.path.join(alloc, paths2);
+ std.debug.assert(paths.len + 1 == p.items.len);
+ return try std.fs.path.join(alloc, p.items);
}
pub fn getGitTime(path: []const u8) !std.posix.timespec {
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);
--
cgit 1.4.1