diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-07-09 18:59:21 +0300 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-07-15 13:04:21 +0300 |
| commit | 2b67f56c35d0a61be43f8ca23535096ae3ca4948 (patch) | |
| tree | 591eea9b6dce8bc4e0a524993da208515b109f92 /src/main.zig | |
| parent | 577f9fdbae12eabbbf87bd2cc36a1565df3153b2 (diff) | |
| download | zig-2b67f56c35d0a61be43f8ca23535096ae3ca4948.tar.gz zig-2b67f56c35d0a61be43f8ca23535096ae3ca4948.zip | |
std.fs: split `Dir` into `IterableDir`
Also adds safety check for attempting to iterate directory not opened with `iterate = true`.
Diffstat (limited to 'src/main.zig')
| -rw-r--r-- | src/main.zig | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main.zig b/src/main.zig index 3d77fc242a..8e34c8ee56 100644 --- a/src/main.zig +++ b/src/main.zig @@ -4206,13 +4206,13 @@ fn fmtPathDir( parent_dir: fs.Dir, parent_sub_path: []const u8, ) FmtError!void { - var dir = try parent_dir.openDir(parent_sub_path, .{ .iterate = true }); - defer dir.close(); + var iterable_dir = try parent_dir.openIterableDir(parent_sub_path, .{}); + defer iterable_dir.close(); - const stat = try dir.stat(); + const stat = try iterable_dir.dir.stat(); if (try fmt.seen.fetchPut(stat.inode, {})) |_| return; - var dir_it = dir.iterate(); + var dir_it = iterable_dir.iterate(); while (try dir_it.next()) |entry| { const is_dir = entry.kind == .Directory; @@ -4223,9 +4223,9 @@ fn fmtPathDir( defer fmt.gpa.free(full_path); if (is_dir) { - try fmtPathDir(fmt, full_path, check_mode, dir, entry.name); + try fmtPathDir(fmt, full_path, check_mode, iterable_dir.dir, entry.name); } else { - fmtPathFile(fmt, full_path, check_mode, dir, entry.name) catch |err| { + fmtPathFile(fmt, full_path, check_mode, iterable_dir.dir, entry.name) catch |err| { warn("unable to format '{s}': {s}", .{ full_path, @errorName(err) }); fmt.any_error = true; return; |
