diff --git a/src/lib.zig b/src/lib.zig index 4b26058d61f7a3603440aec29b89e48defea2ed1..6e4d998d30b007b21981072d2e4e6dc4d6c85475 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -63,3 +63,17 @@ pub fn asciiUpper(alloc: *std.mem.Allocator, input: string) ![]u8 { } return buf; } + +pub fn doesFolderExist(dir: ?std.fs.Dir, fpath: []const u8) !bool { + const file = (dir orelse std.fs.cwd()).openFile(fpath, .{}) catch |e| switch (e) { + error.FileNotFound => return false, + error.IsDir => return true, + else => return e, + }; + defer file.close(); + const s = try file.stat(); + if (s.kind != .Directory) { + return false; + } + return true; +}