mirror of https://github.com/torvalds/linux.git
22 lines
530 B
Rust
22 lines
530 B
Rust
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
pub(crate) const fn to_lowercase_bytes<const N: usize>(s: &str) -> [u8; N] {
|
|
let src = s.as_bytes();
|
|
let mut dst = [0; N];
|
|
let mut i = 0;
|
|
|
|
while i < src.len() && i < N {
|
|
dst[i] = (src[i] as char).to_ascii_lowercase() as u8;
|
|
i += 1;
|
|
}
|
|
|
|
dst
|
|
}
|
|
|
|
pub(crate) const fn const_bytes_to_str(bytes: &[u8]) -> &str {
|
|
match core::str::from_utf8(bytes) {
|
|
Ok(string) => string,
|
|
Err(_) => kernel::build_error!("Bytes are not valid UTF-8."),
|
|
}
|
|
}
|