From: Greg KH <gregkh@linuxfoundation.org>
To: Danilo Krummrich <dakr@redhat.com>
Cc: ojeda@kernel.org, alex.gaynor@gmail.com, wedsonaf@gmail.com,
boqun.feng@gmail.com, gary@garyguo.net, bjorn3_gh@protonmail.com,
benno.lossin@proton.me, a.hindborg@samsung.com,
aliceryhl@google.com, rust-for-linux@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] rust: str: add to_ascii_{upper,lower}case() to CString
Date: Mon, 22 Jan 2024 15:12:04 -0800 [thread overview]
Message-ID: <2024012251-geriatric-morphine-a275@gregkh> (raw)
In-Reply-To: <Za7uampZiG2IP8dE@cassiopeiae>
On Mon, Jan 22, 2024 at 11:38:34PM +0100, Danilo Krummrich wrote:
> On Mon, Jan 22, 2024 at 11:35:29AM -0800, Greg KH wrote:
> > On Mon, Jan 22, 2024 at 07:45:57PM +0100, Danilo Krummrich wrote:
> > > Add functions to convert a CString to upper- / lowercase assuming all
> > > characters are ASCII encoded.
> > >
> > > Signed-off-by: Danilo Krummrich <dakr@redhat.com>
> > > ---
> > > rust/kernel/str.rs | 10 ++++++++++
> > > 1 file changed, 10 insertions(+)
> > >
> > > diff --git a/rust/kernel/str.rs b/rust/kernel/str.rs
> > > index 7d848b83add4..d21151d89861 100644
> > > --- a/rust/kernel/str.rs
> > > +++ b/rust/kernel/str.rs
> > > @@ -581,6 +581,16 @@ pub fn try_from_fmt(args: fmt::Arguments<'_>) -> Result<Self, Error> {
> > > // exist in the buffer.
> > > Ok(Self { buf })
> > > }
> > > +
> > > + /// Converts the whole CString to lowercase.
> > > + pub fn to_ascii_lowercase(&mut self) {
> > > + self.buf.make_ascii_lowercase();
> > > + }
> > > +
> > > + /// Converts the whole CString to uppercase.
> > > + pub fn to_ascii_uppercase(&mut self) {
> > > + self.buf.make_ascii_uppercase();
> > > + }
> >
> > How are you handling locales?
>
> For ASCII only? Not at all, I guess.
Ah, this is ascii, yes, sorry. So this is a replacement of
toupper()/tolower() in the C api?
> However, std::slice::make_ascii_{lower,upper]case() doesn't seem to handle the
> extended range, which tolower() / toupper(), according to _ctype[], does. Do
> you mean that?
You should support whatever those functions in the kernel support today,
otherwise why add it? And why not just call the kernel function to be
sure?
thanks,
greg k-h
next prev parent reply other threads:[~2024-01-22 23:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 18:45 [PATCH] rust: str: add to_ascii_{upper,lower}case() to CString Danilo Krummrich
2024-01-22 18:57 ` Alice Ryhl
2024-01-22 19:35 ` Greg KH
2024-01-22 22:38 ` Danilo Krummrich
2024-01-22 23:12 ` Greg KH [this message]
2024-01-23 17:24 ` Danilo Krummrich
2024-01-23 18:18 ` Miguel Ojeda
2024-01-22 19:38 ` Miguel Ojeda
2024-01-22 22:16 ` Danilo Krummrich
2024-01-23 17:35 ` Miguel Ojeda
2024-01-25 9:08 ` Alice Ryhl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2024012251-geriatric-morphine-a275@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=a.hindborg@samsung.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=dakr@redhat.com \
--cc=gary@garyguo.net \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=wedsonaf@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).