]> git.lizzy.rs Git - rust.git/blob - library/std/src/sys/solid/memchr.rs
Auto merge of #103556 - clubby789:specialize-option-partial-eq, r=scottmcm
[rust.git] / library / std / src / sys / solid / memchr.rs
1 pub fn memchr(needle: u8, haystack: &[u8]) -> Option<usize> {
2     let p = unsafe {
3         libc::memchr(
4             haystack.as_ptr() as *const libc::c_void,
5             needle as libc::c_int,
6             haystack.len(),
7         )
8     };
9     if p.is_null() { None } else { Some(p as usize - (haystack.as_ptr() as usize)) }
10 }
11
12 pub fn memrchr(needle: u8, haystack: &[u8]) -> Option<usize> {
13     let p = unsafe {
14         libc::memrchr(
15             haystack.as_ptr() as *const libc::c_void,
16             needle as libc::c_int,
17             haystack.len(),
18         )
19     };
20     if p.is_null() { None } else { Some(p as usize - (haystack.as_ptr() as usize)) }
21 }