summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--examples/rust/echo-request/src/lib.rs4
-rw-r--r--examples/rust/large-upload/src/lib.rs10
-rw-r--r--examples/rust/upload-reflector/src/lib.rs6
3 files changed, 12 insertions, 8 deletions
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 {