| ... | ... | @@ -149,3 +149,18 @@ pub const Iterator = struct { |
| 149 | 149 | type: sys.DT, |
| 150 | 150 | }; |
| 151 | 151 | }; |
| 152 | |
| 153 | pub fn rename(self: Dir, old: [:0]const u8, new: [:0]const u8) !void { |
| 154 | return sys.renameat(@intFromEnum(self.fd), old.ptr, @intFromEnum(self.fd), new.ptr); |
| 155 | } |
| 156 | pub fn renameC(self: Dir, old: []const u8, new: []const u8) !void { |
| 157 | std.debug.assert(old.len <= sys.NAME_MAX); |
| 158 | std.debug.assert(new.len <= sys.NAME_MAX); |
| 159 | var old_buf: [sys.NAME_MAX + 1]u8 = undefined; |
| 160 | var new_buf: [sys.NAME_MAX + 1]u8 = undefined; |
| 161 | @memcpy(old_buf[0..old.len], old); |
| 162 | @memcpy(new_buf[0..new.len], new); |
| 163 | old_buf[old.len] = 0; |
| 164 | new_buf[new.len] = 0; |
| 165 | return rename(self, old_buf[0..old.len :0], new_buf[0..new.len :0]); |
| 166 | } |