Browse Source

fixup! Fix a few ffmpeg issues

jD91mZM2 6 years ago
parent
commit
40c3d28a41
1 changed files with 3 additions and 2 deletions
  1. 3 2
      src/stdlib/src/lib.rs

+ 3 - 2
src/stdlib/src/lib.rs

@@ -728,8 +728,9 @@ pub fn convert_integer(s: *const c_char, base: c_int) -> Option<(c_ulong, isize,
     let mut overflowed = false;
 
     loop {
-        // `-1 as usize` is -1
-        // `-1 as u8 as usize` is 255
+        // `-1 as usize` is usize::MAX
+        // `-1 as u8 as usize` is u8::MAX
+        // It extends by the sign bit unless we cast it to unsigned first.
         let val = unsafe { LOOKUP_TABLE[*s.offset(idx) as u8 as usize] };
         if val == -1 || val as c_int >= base {
             break;