message: Made an error in the logic of strcspn and strspn that would cause a bit shift much too large
diff: @@ -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;
  }
  