summaryrefslogtreecommitdiff
path: root/src/ops.rs
diff options
context:
space:
mode:
authorKevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>2019-02-02 11:26:18 -0800
committerRyan Dahl <ry@tinyclouds.org>2019-02-02 14:26:18 -0500
commit0b082c4361c63768e5b8610cb22ad7c79e9214aa (patch)
tree7112e5bbe8bde2f316c8d5ef155acee0fa282cfe /src/ops.rs
parent7ecd665ddf9e2a3d04dc5e65c57d05539ecf786d (diff)
Clarify writeFile options and avoid unexpected perm modification (#1643)
Diffstat (limited to 'src/ops.rs')
-rw-r--r--src/ops.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/ops.rs b/src/ops.rs
index 3826b73ff..4c3d31218 100644
--- a/src/ops.rs
+++ b/src/ops.rs
@@ -1058,7 +1058,10 @@ fn op_write_file(
) -> Box<Op> {
let inner = base.inner_as_write_file().unwrap();
let filename = String::from(inner.filename().unwrap());
+ let update_perm = inner.update_perm();
let perm = inner.perm();
+ let is_create = inner.is_create();
+ let is_append = inner.is_append();
if let Err(e) = state.check_write(&filename) {
return odd_future(e);
@@ -1066,7 +1069,14 @@ fn op_write_file(
blocking(base.sync(), move || -> OpResult {
debug!("op_write_file {} {}", filename, data.len());
- deno_fs::write_file(Path::new(&filename), data, perm)?;
+ deno_fs::write_file_2(
+ Path::new(&filename),
+ data,
+ update_perm,
+ perm,
+ is_create,
+ is_append,
+ )?;
Ok(empty_buf())
})
}