diff options
author | Andrew Clayton <a.clayton@nginx.com> | 2023-09-05 15:26:37 +0100 |
---|---|---|
committer | Andrew Clayton <a.clayton@nginx.com> | 2023-09-05 15:26:37 +0100 |
commit | 6764e6e8ac3f1223536c35d7daef0755df144643 (patch) | |
tree | 009d04dc5f5541d9befe06ce4e806f184e7dd457 | |
parent | d81bc9290edc8d1eb59ced024499359ccd4da77a (diff) | |
download | unit-wasm-6764e6e8ac3f1223536c35d7daef0755df144643.tar.gz unit-wasm-6764e6e8ac3f1223536c35d7daef0755df144643.tar.bz2 |
examples/rust: Slightly simplify hello-world
There is no need in this case to declare REQUEST_BUF as a global
variable. Declaring it local to uwr_request_handler() lets us get rid of
the unsafe code blocks.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
-rw-r--r-- | examples/rust/hello-world/src/lib.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/examples/rust/hello-world/src/lib.rs b/examples/rust/hello-world/src/lib.rs index 9be1abd..a06bb4a 100644 --- a/examples/rust/hello-world/src/lib.rs +++ b/examples/rust/hello-world/src/lib.rs @@ -8,14 +8,13 @@ use unit_wasm::rusty::*; -static mut REQUEST_BUF: *mut u8 = std::ptr::null_mut(); - #[no_mangle] pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { let ctx = &mut UWR_CTX_INITIALIZER(); + let mut request_buf: *mut u8 = std::ptr::null_mut(); uwr_init_ctx(ctx, addr, 4096); - uwr_set_req_buf(ctx, unsafe { &mut REQUEST_BUF }, LUW_SRB_ALLOC); + uwr_set_req_buf(ctx, &mut request_buf, LUW_SRB_ALLOC); uwr_write_str!( ctx, @@ -35,7 +34,7 @@ pub extern "C" fn uwr_request_handler(addr: *mut u8) -> i32 { uwr_http_send_response(ctx); uwr_http_response_end(); - uwr_free(unsafe { REQUEST_BUF }); + uwr_free(request_buf); return 0; } |