From 859d3dc8fc7d67f22dda3653484bf713e8aab752 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D1=80=D1=82=D1=91=D0=BC=20=D0=9F=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=20=5BArtyom=20Pavlov=5D?= Date: Sat, 20 Jul 2019 03:14:26 +0300 Subject: [PATCH 1/3] use wasi-core isntead of libc --- Cargo.toml | 5 ++++- src/wasi.rs | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 2b813cc1..b2396962 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,9 +21,12 @@ members = ["tests/wasm_bindgen"] log = { version = "0.4", optional = true } cfg-if = "0.1" -[target.'cfg(any(unix, target_os = "redox", target_os = "wasi"))'.dependencies] +[target.'cfg(any(unix, target_os = "redox"))'.dependencies] libc = "0.2.54" +[target.'cfg(any(target_os = "wasi"))'.dependencies] +wasi-core = "0.2" + [target.wasm32-unknown-unknown.dependencies] wasm-bindgen = { version = "0.2.29", optional = true } stdweb = { version = "0.4.9", optional = true } diff --git a/src/wasi.rs b/src/wasi.rs index 10b91788..a054de62 100644 --- a/src/wasi.rs +++ b/src/wasi.rs @@ -9,12 +9,12 @@ //! Implementation for WASI use crate::Error; use core::num::NonZeroU32; +use wasi_core::wasi_unstable::random_get; pub fn getrandom_inner(dest: &mut [u8]) -> Result<(), Error> { - let ret = - unsafe { libc::__wasi_random_get(dest.as_mut_ptr() as *mut libc::c_void, dest.len()) }; + let ret = random_get(dest); if let Some(code) = NonZeroU32::new(ret as u32) { - error!("WASI: __wasi_random_get failed with return value {}", code); + error!("WASI: random_get failed with return value {}", code); Err(Error::from(code)) } else { Ok(()) // Zero means success for WASI From 212483f4accf6d4dbc5672e960fcc95ad3076cf8 Mon Sep 17 00:00:00 2001 From: newpavlov Date: Fri, 26 Jul 2019 15:18:35 +0300 Subject: [PATCH 2/3] wasi-core -> wasi --- Cargo.toml | 2 +- src/wasi.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b2396962..63f0a554 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,7 +25,7 @@ cfg-if = "0.1" libc = "0.2.54" [target.'cfg(any(target_os = "wasi"))'.dependencies] -wasi-core = "0.2" +wasi = "0.5" [target.wasm32-unknown-unknown.dependencies] wasm-bindgen = { version = "0.2.29", optional = true } diff --git a/src/wasi.rs b/src/wasi.rs index a054de62..d235a955 100644 --- a/src/wasi.rs +++ b/src/wasi.rs @@ -9,7 +9,7 @@ //! Implementation for WASI use crate::Error; use core::num::NonZeroU32; -use wasi_core::wasi_unstable::random_get; +use wasi::wasi_unstable::random_get; pub fn getrandom_inner(dest: &mut [u8]) -> Result<(), Error> { let ret = random_get(dest); From a0cc2715abf9b0722369f348b26eee803537df90 Mon Sep 17 00:00:00 2001 From: Artyom Pavlov Date: Mon, 29 Jul 2019 09:52:00 +0000 Subject: [PATCH 3/3] remove unnecessary any --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 00b4b7c5..7048f5dc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,7 +24,7 @@ cfg-if = "0.1" [target.'cfg(any(unix, target_os = "redox"))'.dependencies] libc = "0.2.60" -[target.'cfg(any(target_os = "wasi"))'.dependencies] +[target.'cfg(target_os = "wasi")'.dependencies] wasi = "0.5" [target.wasm32-unknown-unknown.dependencies]