diff --git a/lib/emscripten/src/syscalls/emscripten_vfs.rs b/lib/emscripten/src/syscalls/emscripten_vfs.rs index b9e8a9439..0e6bbcd00 100644 --- a/lib/emscripten/src/syscalls/emscripten_vfs.rs +++ b/lib/emscripten/src/syscalls/emscripten_vfs.rs @@ -102,9 +102,7 @@ impl EmscriptenVfs { match self.fd_map.get(&fd) { Some(FileHandle::Vf(file)) => { let mut mut_ref = RefCell::borrow_mut(file); - mut_ref - .write_file(buf_slice, 0) - .map_err(|e| EmscriptenVfsError::Io(e)) + mut_ref.write_file(buf_slice, 0).into() } Some(FileHandle::Socket(host_fd)) => unsafe { let result = libc::write(*host_fd, buf_slice.as_ptr() as _, count as _); @@ -149,3 +147,9 @@ pub enum EmscriptenVfsError { Errno(errno::Errno), FileSystemError, } + +impl From for EmscriptenVfsError { + fn from(io_error: io::Error) -> Self { + EmscriptenVfsError::Io(io_error) + } +}