summaryrefslogtreecommitdiff
path: root/src/handlers.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers.rs')
-rw-r--r--src/handlers.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/handlers.rs b/src/handlers.rs
index 7d8fafc10..1c821b73c 100644
--- a/src/handlers.rs
+++ b/src/handlers.rs
@@ -54,7 +54,7 @@ pub extern "C" fn msg_from_js(d: *const DenoC, buf: deno_buf) {
msg::Any::RenameSync => handle_rename_sync,
msg::Any::SetEnv => handle_set_env,
msg::Any::StatSync => handle_stat_sync,
- msg::Any::WriteFileSync => handle_write_file_sync,
+ msg::Any::WriteFile => handle_write_file,
msg::Any::Exit => handle_exit,
_ => panic!(format!(
"Unhandled message {}",
@@ -517,20 +517,19 @@ fn handle_stat_sync(_d: *const DenoC, base: &msg::Base) -> Box<Op> {
}()))
}
-fn handle_write_file_sync(d: *const DenoC, base: &msg::Base) -> Box<Op> {
- let msg = base.msg_as_write_file_sync().unwrap();
+fn handle_write_file(d: *const DenoC, base: &msg::Base) -> Box<Op> {
+ let msg = base.msg_as_write_file().unwrap();
let filename = String::from(msg.filename().unwrap());
let data = msg.data().unwrap();
- // TODO let perm = msg.perm();
+ let perm = msg.perm();
let deno = from_c(d);
- debug!("handle_write_file_sync {}", filename);
+ debug!("handle_write_file {}", filename);
Box::new(futures::future::result(|| -> OpResult {
if !deno.flags.allow_write {
Err(permission_denied())
} else {
- // TODO(ry) Use perm.
- deno_fs::write_file_sync(Path::new(&filename), data)?;
+ deno_fs::write_file(Path::new(&filename), data, perm)?;
Ok(None)
}
}()))