aboutsummaryrefslogtreecommitdiff
path: root/src/wasi.rs
diff options
context:
space:
mode:
authorJeff Vander Stoep <jeffv@google.com>2022-12-12 11:02:41 +0100
committerJeff Vander Stoep <jeffv@google.com>2022-12-12 11:03:11 +0100
commit4d7867d2257ad0aa3c7ddc8d0dfbd2056abe3d60 (patch)
tree70709274fc5fe7f06eb59587d4b5b012b348dc83 /src/wasi.rs
parent02d96e9f3b76cb37e871ab64cab26cf23d7da78a (diff)
downloadgetrandom-4d7867d2257ad0aa3c7ddc8d0dfbd2056abe3d60.tar.gz
Upgrade getrandom to 0.2.8
This project was upgraded with external_updater. Usage: tools/external_updater/updater.sh update rust/crates/getrandom For more info, check https://cs.android.com/android/platform/superproject/+/master:tools/external_updater/README.md Test: TreeHugger Change-Id: Iec2d2bed229e0a061bb7c35f950d84d03424604d
Diffstat (limited to 'src/wasi.rs')
-rw-r--r--src/wasi.rs12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/wasi.rs b/src/wasi.rs
index 2d413e0..c512182 100644
--- a/src/wasi.rs
+++ b/src/wasi.rs
@@ -9,15 +9,11 @@
//! Implementation for WASI
use crate::Error;
use core::num::NonZeroU32;
-use wasi::random_get;
+use wasi::wasi_snapshot_preview1::random_get;
pub fn getrandom_inner(dest: &mut [u8]) -> Result<(), Error> {
- unsafe {
- random_get(dest.as_mut_ptr(), dest.len()).map_err(|e: wasi::Error| {
- // convert wasi's Error into getrandom's NonZeroU32 error
- // SAFETY: `wasi::Error` is `NonZeroU16` internally, so `e.raw_error()`
- // will never return 0
- NonZeroU32::new_unchecked(e.raw_error() as u32).into()
- })
+ match unsafe { random_get(dest.as_mut_ptr() as i32, dest.len() as i32) } {
+ 0 => Ok(()),
+ err => Err(unsafe { NonZeroU32::new_unchecked(err as u32) }.into()),
}
}