Age | Commit message (Collapse) | Author | Files | Lines |
|
With at least
rustc 1.79.0 (129f3b996 2024-06-10) (Fedora 1.79.0-3.fc40)
We were getting warnings when building the rust examples like
warning: creating a mutable reference to mutable static is discouraged
--> src/lib.rs:75:40
|
75 | let ctx: *mut luw_ctx_t = unsafe { &mut CTX };
| ^^^^^^^^ mutable reference to mutable static
|
= note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
= note: this will be a hard error in the 2024 edition
= note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
= note: `#[warn(static_mut_refs)]` on by default
help: use `addr_of_mut!` instead to create a raw pointer
|
75 | let ctx: *mut luw_ctx_t = unsafe { addr_of_mut!(CTX) };
| ~~~~~~~~~~~~~~~~~
So do like it says and use the addr_of_mut!() macro.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
We can put the unsafe keyword as part of the function definition,
getting rid of the unsafe {} blocks in the functions themselves.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Update the echo-request and upload-reflector examples for the new
uwr_http_add_header_content_type() and uwr_http_add_header_content_len()
functions.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
This was used to specify the index of the response header being added,
starting at 0 and incrementing by one for each header.
Instead of having the programmer specify this, track it internally.
We add an extra check in luw_http_add_header() to make sure we aren't
trying to add more headers than we said with luw_http_init_headers(), if
we are, simply return.
This updates the API-C.md and the various examples and 'rusty' API
wrapper.
Suggested-by: Liam Crilly <liam@nginx.com>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
rusty is a thin wrapper over the generated libunit-wasm bindings to
provide a more native rust like interface.
This gets rid of all the casting and ugly string handling. It massively
reduces the amount of unsafe {} blocks needed, though some still are...
All in all this provides a nice code cleanup.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
|
libunit-wasm and example C and Rust WebAssembly modules for NGINX Unit.
Co-developed-by: Timo Stark <t.stark@nginx.com>
Co-developed-by: Liam Crilly <liam@nginx.com>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|