summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/dispatch_minimal.rs14
-rw-r--r--cli/errors.rs4
2 files changed, 16 insertions, 2 deletions
diff --git a/cli/dispatch_minimal.rs b/cli/dispatch_minimal.rs
index a3a383393..0e20d3b1a 100644
--- a/cli/dispatch_minimal.rs
+++ b/cli/dispatch_minimal.rs
@@ -133,7 +133,12 @@ mod ops {
pub fn read(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> {
debug!("read rid={}", rid);
- let zero_copy = zero_copy.unwrap();
+ let zero_copy = match zero_copy {
+ None => {
+ return Box::new(futures::future::err(errors::no_buffer_specified()))
+ }
+ Some(buf) => buf,
+ };
match resources::lookup(rid as u32) {
None => Box::new(futures::future::err(errors::bad_resource())),
Some(resource) => Box::new(
@@ -146,7 +151,12 @@ mod ops {
pub fn write(rid: i32, zero_copy: Option<PinnedBuf>) -> Box<MinimalOp> {
debug!("write rid={}", rid);
- let zero_copy = zero_copy.unwrap();
+ let zero_copy = match zero_copy {
+ None => {
+ return Box::new(futures::future::err(errors::no_buffer_specified()))
+ }
+ Some(buf) => buf,
+ };
match resources::lookup(rid as u32) {
None => Box::new(futures::future::err(errors::bad_resource())),
Some(resource) => Box::new(
diff --git a/cli/errors.rs b/cli/errors.rs
index 71c14282b..8e57fe5f4 100644
--- a/cli/errors.rs
+++ b/cli/errors.rs
@@ -225,6 +225,10 @@ pub fn worker_init_failed() -> DenoError {
)
}
+pub fn no_buffer_specified() -> DenoError {
+ new(ErrorKind::InvalidInput, String::from("no buffer specified"))
+}
+
#[derive(Debug)]
pub enum RustOrJsError {
Rust(DenoError),