diff --git a/src/string/src/lib.rs b/src/string/src/lib.rs index 5a6eb9bfa5dd9cfac01754eaa9e6f1229c833bd9..b639cf2e53b4b1dad6a2750b893cd576ee0877d0 100644 --- a/src/string/src/lib.rs +++ b/src/string/src/lib.rs @@ -92,16 +92,13 @@ pub unsafe extern "C" fn strcat(s1: *mut c_char, s2: *const c_char) -> *mut c_ch pub unsafe extern "C" fn strchr(s: *const c_char, c: c_int) -> *mut c_char { let c = c as i8; let mut i = 0; - loop { - let cur = *s.offset(i); - if cur == c { + while *s.offset(i) != 0 { + if *s.offset(i) == c { return s.offset(i) as *mut c_char; } - if cur == 0 { - return ptr::null_mut(); - } i += 1; } + ptr::null_mut() } #[no_mangle]