From 3c37872744be60c07add8560c4c0af4e8daf7fc5 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Tue, 5 May 2026 03:47:57 -0700 Subject: [PATCH] add mktemp --- nfs.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nfs.zig b/nfs.zig index fc2980959a1b4c6f86eced111f77a9c322cc924c..e82ce2ab61f0b68afe38e3e3f7b23dc50d76a315 100644 --- a/nfs.zig +++ b/nfs.zig @@ -55,3 +55,14 @@ pub fn mkdtemp() !Dir { const path = template[0 .. template.len - 1 :0]; return cwd().makeOpenPath(path, .{}); } + +pub fn mktemp(flags: Dir.CreateFlags) !File { + var template = "/tmp/tmp.XXXXXXXXXX\x00".*; + const letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + var buf: [10]u8 = @splat(0); + const rand = try sys.getrandom(&buf, 0); + if (rand.len != 10) return error.EAGAIN; + for (template[9..][0..10], rand) |*a, b| a.* = letters[b % 62]; + const path = template[0 .. template.len - 1 :0]; + return cwd().createFile(path, flags); +} -- 2.54.0