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