From d0bf830ca7c857a09b0dac4c843d7d6d1eb34a56 Mon Sep 17 00:00:00 2001 From: Tom Almeida <tommoa256@gmail.com> Date: Sat, 10 Mar 2018 23:09:10 +0800 Subject: [PATCH] fixed a logic error in strchr --- src/string/src/lib.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/string/src/lib.rs b/src/string/src/lib.rs index 5a6eb9bf..b639cf2e 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] -- GitLab