diff --git a/src/Command.zig b/src/Command.zig index 2f8b871e8d..7bf64566e4 100644 --- a/src/Command.zig +++ b/src/Command.zig @@ -23,8 +23,8 @@ const Command = @This(); const std = @import("std"); const builtin = @import("builtin"); -const TempDir = @import("TempDir.zig"); const internal_os = @import("os/main.zig"); +const TempDir = internal_os.TempDir; const mem = std.mem; const os = std.os; const debug = std.debug; diff --git a/src/main.zig b/src/main.zig index f9160a2824..d93683d062 100644 --- a/src/main.zig +++ b/src/main.zig @@ -181,7 +181,6 @@ pub const GlobalState = struct { test { _ = @import("Pty.zig"); _ = @import("Command.zig"); - _ = @import("TempDir.zig"); _ = @import("font/main.zig"); _ = @import("renderer.zig"); _ = @import("termio.zig"); diff --git a/src/TempDir.zig b/src/os/TempDir.zig similarity index 92% rename from src/TempDir.zig rename to src/os/TempDir.zig index ceb586aa09..0422a2cef5 100644 --- a/src/TempDir.zig +++ b/src/os/TempDir.zig @@ -6,6 +6,7 @@ const std = @import("std"); const builtin = @import("builtin"); const testing = std.testing; const Dir = std.fs.Dir; +const internal_os = @import("main.zig"); const log = std.log.scoped(.tempdir); @@ -28,8 +29,11 @@ pub fn init() !TempDir { var tmp_path_buf: [TMP_PATH_LEN:0]u8 = undefined; var rand_buf: [RANDOM_BYTES]u8 = undefined; - // TODO: use the real temp dir not cwd - const dir = std.fs.cwd(); + const dir = dir: { + const cwd = std.fs.cwd(); + const tmp_dir = internal_os.tmpDir() orelse break :dir cwd; + break :dir try cwd.openDir(tmp_dir, .{}); + }; // We now loop forever until we can find a directory that we can create. while (true) { diff --git a/src/os/main.zig b/src/os/main.zig index 070e7be1dd..7479c30897 100644 --- a/src/os/main.zig +++ b/src/os/main.zig @@ -6,3 +6,4 @@ pub usingnamespace @import("flatpak.zig"); pub usingnamespace @import("locale.zig"); pub usingnamespace @import("macos_version.zig"); pub usingnamespace @import("mouse.zig"); +pub const TempDir = @import("TempDir.zig");