From 1163f0e7be1400c7e2f80b5719114a7d1dc2cd36 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Tue, 1 Sep 2026 22:39:32 -0700 Subject: [PATCH] make File.Kind sys.DT --- Dir.zig | 2 +- File.zig | 30 +++++++++++------------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/Dir.zig b/Dir.zig index d822b0222be3d2e29c439d2865ac9e0d4627c6e2..111166e5dc8f60cf3069a7eeb6167bc0212c453a 100644 --- a/Dir.zig +++ b/Dir.zig @@ -121,7 +121,7 @@ pub fn makePath(self: Dir, sub_path: [:0]const u8) !void { error.EISDIR => break :check_dir, else => |e| return e, }; - if (fstat.kind() != .directory) return error.NotDir; + if (fstat.kind() != .DIR) return error.NotDir; } }, error.ENOENT => |e| { diff --git a/File.zig b/File.zig index 6ca3eccc9e10a5f42af12215772f53f77c8f7034..b7319eb54e81964cbbf79d59c40c3a1e15fcb2b6 100644 --- a/File.zig +++ b/File.zig @@ -162,19 +162,20 @@ pub const Stat = struct { }; } - pub fn kind(self: Stat) Kind { + pub fn kind(self: Stat) sys.DT { const m = self.mode & sys.S.IFMT; switch (m) { - sys.S.IFBLK => return .block_device, - sys.S.IFCHR => return .character_device, - sys.S.IFIFO => return .named_pipe, - sys.S.IFREG => return .file, - sys.S.IFDIR => return .directory, - sys.S.IFLNK => return .symlink, - sys.S.IFSOCK => return .unix_socket, + sys.S.IFBLK => return .BLK, + sys.S.IFCHR => return .CHR, + sys.S.IFIFO => return .FIFO, + sys.S.IFREG => return .REG, + sys.S.IFDIR => return .DIR, + sys.S.IFLNK => return .LNK, + sys.S.IFSOCK => return .SOCK, + sys.S.IFWHT => return .WHT, else => {}, } - return .unknown; + return .UNKNOWN; } }; @@ -182,16 +183,7 @@ pub const INode = sys.ino_t; pub const Mode = sys.mode_t; -pub const Kind = enum { - block_device, - character_device, - named_pipe, - file, - directory, - symlink, - unix_socket, - unknown, -}; +pub const Kind = sys.DT; /// Maps entire file content into memory with a single syscall. /// Release with `nfs.munmap`. -- 2.54.0