fix clippy warnings
[nihav.git] / nihav-core / src / io / bitreader.rs
index 569330b5be59e14ab75612c14462ba18832dec0a..b5f8de61cb8db863c0f2b09c00327b93e40507b6 100644 (file)
@@ -227,7 +227,7 @@ impl<'a> BitReader<'a> {
         if nbits == 0 { return Ok(0) }
         if nbits > 32 { return Err(TooManyBitsRequested) }
         if self.bits < nbits {
-            if let Err(err) = self.refill() { return Err(err) }
+            self.refill()?;
             if self.bits < nbits { return Err(BitstreamEnd) }
         }
         let res = self.read_cache(nbits);
@@ -243,7 +243,7 @@ impl<'a> BitReader<'a> {
     pub fn read_s(&mut self, nbits: u8) -> BitReaderResult<i32> {
         if nbits == 0 || nbits > 32 { return Err(TooManyBitsRequested) }
         if self.bits < nbits {
-            if let Err(err) = self.refill() { return Err(err) }
+            self.refill()?;
             if self.bits < nbits { return Err(BitstreamEnd) }
         }
         let res = self.read_cache_s(nbits);
@@ -255,7 +255,7 @@ impl<'a> BitReader<'a> {
     #[inline(always)]
     pub fn read_bool(&mut self) -> BitReaderResult<bool> {
         if self.bits < 1 {
-            if let Err(err) = self.refill() { return Err(err) }
+            self.refill()?;
             if self.bits < 1 { return Err(BitstreamEnd) }
         }
         let res = self.read_cache(1);
@@ -305,8 +305,11 @@ impl<'a> BitReader<'a> {
         self.reset_cache();
         self.pos += ((skip_bits / 32) * 4) as usize;
         skip_bits &= 0x1F;
-        self.refill()?;
         if skip_bits > 0 {
+            self.refill()?;
+            if u32::from(self.bits) < skip_bits {
+                return Err(BitstreamEnd);
+            }
             self.skip_cache(skip_bits as u8);
         }
         Ok(())