diff --git a/examples/rust/echo-request/src/lib.rs b/examples/rust/echo-request/src/lib.rs index 674bb05..0fddab7 100644 --- a/examples/rust/echo-request/src/lib.rs +++ b/examples/rust/echo-request/src/lib.rs @@ -11,7 +11,7 @@ use unit_wasm::rusty::*; use std::ffi::CStr; use std::os::raw::c_char; use std::os::raw::c_void; -use std::ptr::null_mut; +use std::ptr::{addr_of_mut, null_mut}; // Buffer of some size to store the copy of the request static mut REQUEST_BUF: *mut u8 = null_mut(); @@ -51,7 +51,7 @@ pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { uwr_init_ctx(ctx, addr, 4096); // Set where we will copy the request into - uwr_set_req_buf(ctx, unsafe { &mut REQUEST_BUF }, LUW_SRB_NONE); + uwr_set_req_buf(ctx, unsafe { addr_of_mut!(REQUEST_BUF) }, LUW_SRB_NONE); // Define the Response Body Text. diff --git a/examples/rust/large-upload/src/lib.rs b/examples/rust/large-upload/src/lib.rs index 7fe8309..df7e963 100644 --- a/examples/rust/large-upload/src/lib.rs +++ b/examples/rust/large-upload/src/lib.rs @@ -9,7 +9,7 @@ use unit_wasm::rusty::*; use std::fs::File; -use std::ptr::null_mut; +use std::ptr::{addr_of_mut, null_mut}; static mut CTX: luw_ctx_t = UWR_CTX_INITIALIZER(); static mut REQUEST_BUF: *mut u8 = null_mut(); @@ -32,14 +32,18 @@ pub unsafe extern "C" fn uwr_response_end_handler() { #[no_mangle] pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { - let ctx: *mut luw_ctx_t = unsafe { &mut CTX }; + let ctx: *mut luw_ctx_t = unsafe { addr_of_mut!(CTX) }; let mut f; let bytes_wrote: isize; let mut total = unsafe { TOTAL_BYTES_WROTE }; if total == 0 { uwr_init_ctx(ctx, addr, 0); - uwr_set_req_buf(ctx, unsafe { &mut REQUEST_BUF }, LUW_SRB_NONE); + uwr_set_req_buf( + ctx, + unsafe { addr_of_mut!(REQUEST_BUF) }, + LUW_SRB_NONE, + ); f = File::create("/var/tmp/large-file.dat").unwrap(); } else { diff --git a/examples/rust/upload-reflector/src/lib.rs b/examples/rust/upload-reflector/src/lib.rs index ccef351..2f1992b 100644 --- a/examples/rust/upload-reflector/src/lib.rs +++ b/examples/rust/upload-reflector/src/lib.rs @@ -8,7 +8,7 @@ use unit_wasm::rusty::*; -use std::ptr::null_mut; +use std::ptr::{addr_of_mut, null_mut}; static mut CTX: luw_ctx_t = UWR_CTX_INITIALIZER(); @@ -72,7 +72,7 @@ pub fn upload_reflector(ctx: *mut luw_ctx_t) -> i32 { #[no_mangle] pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { - let ctx: *mut luw_ctx_t = unsafe { &mut CTX }; + let ctx: *mut luw_ctx_t = unsafe { addr_of_mut!(CTX) }; if unsafe { REQUEST_BUF.is_null() } { uwr_init_ctx(ctx, addr, 0 /* Response offset */); @@ -87,7 +87,7 @@ pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { */ uwr_set_req_buf( ctx, - unsafe { &mut REQUEST_BUF }, + unsafe { addr_of_mut!(REQUEST_BUF) }, LUW_SRB_APPEND | LUW_SRB_ALLOC | LUW_SRB_FULL_SIZE, ); } else {