fix(wsl): save without copying file mode if statFile fails
This commit is contained in:
parent
cd54b5a954
commit
78cc4b2d24
1 changed files with 6 additions and 3 deletions
|
@ -1423,9 +1423,12 @@ pub const StoreToFileError = error{
|
||||||
};
|
};
|
||||||
|
|
||||||
pub fn store_to_existing_file_const(self: *const Self, file_path: []const u8) StoreToFileError!void {
|
pub fn store_to_existing_file_const(self: *const Self, file_path: []const u8) StoreToFileError!void {
|
||||||
const stat = try cwd().statFile(file_path);
|
var atomic = blk: {
|
||||||
var write_buffer: [4096]u8 = undefined;
|
var write_buffer: [4096]u8 = undefined;
|
||||||
var atomic = try cwd().atomicFile(file_path, .{ .mode = stat.mode, .write_buffer = &write_buffer });
|
const stat = cwd().statFile(file_path) catch
|
||||||
|
break :blk try cwd().atomicFile(file_path, .{ .write_buffer = &write_buffer });
|
||||||
|
break :blk try cwd().atomicFile(file_path, .{ .mode = stat.mode, .write_buffer = &write_buffer });
|
||||||
|
};
|
||||||
defer atomic.deinit();
|
defer atomic.deinit();
|
||||||
try self.store_to_file_const(&atomic.file_writer.interface);
|
try self.store_to_file_const(&atomic.file_writer.interface);
|
||||||
try atomic.finish();
|
try atomic.finish();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue