diff --git a/src/string/src/lib.rs b/src/string/src/lib.rs index 962c8f761dfb3d3d1497b5ae180a1f3cdd77e8f1..ca56dff0011bfac9dd88e78b810a6172d812e865 100644 --- a/src/string/src/lib.rs +++ b/src/string/src/lib.rs @@ -129,15 +129,15 @@ pub unsafe extern "C" fn strcspn(s1: *const c_char, s2: *const c_char) -> c_ulon let mut i = 0; while *s2.offset(i) != 0 { - byteset[(*s2.offset(i) as usize) / (8 * mem::size_of::<usize>())] |= - 1 << (*s2.offset(i) as usize % (8 * mem::size_of::<usize>())); + byteset[(*s2.offset(i) as usize) / (8 * byteset.len())] |= + 1 << (*s2.offset(i) as usize % (8 * byteset.len())); i += 1; } i = 0; // reset while *s2.offset(i) != 0 { - if byteset[(*s2.offset(i) as usize) / (8 * mem::size_of::<usize>())] - & 1 << (*s2.offset(i) as usize % (8 * mem::size_of::<usize>())) > 0 + if byteset[(*s2.offset(i) as usize) / (8 * byteset.len())] + & 1 << (*s2.offset(i) as usize % (8 * byteset.len())) > 0 { break; } @@ -281,15 +281,15 @@ pub unsafe extern "C" fn strspn(s1: *const c_char, s2: *const c_char) -> c_ulong let mut i = 0; while *s2.offset(i) != 0 { - byteset[(*s2.offset(i) as usize) / (8 * mem::size_of::<usize>())] |= - 1 << (*s2.offset(i) as usize % (8 * mem::size_of::<usize>())); + byteset[(*s2.offset(i) as usize) / (8 * byteset.len())] |= + 1 << (*s2.offset(i) as usize % (8 * byteset.len())); i += 1; } i = 0; // reset while *s2.offset(i) != 0 { - if byteset[(*s2.offset(i) as usize) / (8 * mem::size_of::<usize>())] - & 1 << (*s2.offset(i) as usize % (8 * mem::size_of::<usize>())) < 1 + if byteset[(*s2.offset(i) as usize) / (8 * byteset.len())] + & 1 << (*s2.offset(i) as usize % (8 * byteset.len())) < 1 { break; }