diff --git a/src/string/src/lib.rs b/src/string/src/lib.rs index ce2a68c7f525e276319042e119e43ccd721cdcc1..c7178b5c3c160d755444b5cb5433ed1a7faa8dae 100644 --- a/src/string/src/lib.rs +++ b/src/string/src/lib.rs @@ -161,7 +161,7 @@ pub unsafe extern "C" fn strncmp(s1: *const c_char, s2: *const c_char, n: usize) for (&a, &b) in s1.iter().zip(s2.iter()) { let val = (a as c_int) - (b as c_int); - if val != 0 || a == 0 { + if a != b || a == 0 { return val; } } diff --git a/tests/string/strncmp.c b/tests/string/strncmp.c index 3e96e5c36219e25c22a302e372436fac666b2790..efb2bea9783af619a6bdf1995ab3b4feaff6b813 100644 --- a/tests/string/strncmp.c +++ b/tests/string/strncmp.c @@ -9,7 +9,5 @@ int main(int argc, char* argv[]) { printf("%d\n", strncmp("a", "c", 1)); printf("%d\n", strncmp("a", "a", 2)); - puts("test"); - return 0; }