Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: GPL-2.0
2
3pub(crate) const fn to_lowercase_bytes<const N: usize>(s: &str) -> [u8; N] {
4 let src = s.as_bytes();
5 let mut dst = [0; N];
6 let mut i = 0;
7
8 while i < src.len() && i < N {
9 dst[i] = (src[i] as char).to_ascii_lowercase() as u8;
10 i += 1;
11 }
12
13 dst
14}
15
16pub(crate) const fn const_bytes_to_str(bytes: &[u8]) -> &str {
17 match core::str::from_utf8(bytes) {
18 Ok(string) => string,
19 Err(_) => kernel::build_error!("Bytes are not valid UTF-8."),
20 }
21}