Thread (34 messages) 34 messages, 4 authors, 2025-05-29

Re: [PATCH v10 4/5] rust: replace `kernel::c_str!` with C-Strings

From: Tamir Duberstein <hidden>
Date: 2025-05-27 15:32:10
Also in: dri-devel, linux-block, linux-devicetree, linux-kselftest, linux-pci, lkml, llvm, nouveau, rust-for-linux

On Mon, May 26, 2025 at 7:07 PM Benno Lossin [off-list ref] wrote:
On Tue May 27, 2025 at 12:29 AM CEST, Tamir Duberstein wrote:
quoted
On Mon, May 26, 2025 at 11:04 AM Benno Lossin [off-list ref] wrote:
quoted
On Sat May 24, 2025 at 10:33 PM CEST, Tamir Duberstein wrote:
quoted
+macro_rules! c_str_avoid_literals {
I don't like this name, how about `concat_to_c_str` or
`concat_with_nul`?

This macro also is useful from macros that have a normal string literal,
but can't turn it into a `c""` one.
Uh, can you give an example? I'm not attached to the name.
There is one in this patch (:

    diff --git a/rust/kernel/kunit.rs b/rust/kernel/kunit.rs
    index e5621d596ed3..09148e982f48 100644
    --- a/rust/kernel/kunit.rs
    +++ b/rust/kernel/kunit.rs
    @@ -58,9 +58,10 @@ macro_rules! kunit_assert {
                     break 'out;
                 }

    -            static FILE: &'static $crate::str::CStr = $crate::c_str!($file);
    +            static FILE: &'static $crate::str::CStr = $crate::c_str_avoid_literals!($file);
Great point, and an easy one to replace with a c-string literal. Done in v11.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help