Browse Source

Fix lookahead buffer reading nul's

Jeremy Soller 4 years ago
parent
commit
94a6da9116
1 changed files with 6 additions and 2 deletions
  1. 6 2
      src/header/stdio/lookaheadreader.rs

+ 6 - 2
src/header/stdio/lookaheadreader.rs

@@ -8,8 +8,12 @@ struct LookAheadBuffer {
 impl LookAheadBuffer {
     fn look_ahead(&mut self) -> Result<Option<u8>, i32> {
         let byte = unsafe { *self.buf.offset(self.look_ahead) };
-        self.look_ahead += 1;
-        Ok(Some(byte))
+        if byte == 0 {
+            Ok(None)
+        } else {
+            self.look_ahead += 1;
+            Ok(Some(byte))
+        }
     }
 
     fn commit(&mut self) {