From 4d4f1f2284d54dfabf58246034b8fc7fd0282f83 Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Tue, 2 Jul 2024 03:06:32 +0100 Subject: API-Rust.md: Use the addr_of_mut!() macro Signed-off-by: Andrew Clayton --- API-Rust.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/API-Rust.md b/API-Rust.md index 66e65d5..bef2e7d 100644 --- a/API-Rust.md +++ b/API-Rust.md @@ -492,7 +492,7 @@ static mut REQUEST_BUF: *mut u8 = null_mut(); */ ... */ #[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 */); @@ -507,7 +507,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 { @@ -811,7 +811,7 @@ Example ```Rust #[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 */); @@ -826,7 +826,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 { @@ -868,14 +868,18 @@ Example ```Rust 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 { -- cgit