]> wimlib.net Git - wimlib/blobdiff - src/lzms_decompress.c
Avoid branch in 'num_bits == 0' branch when peeking bits
[wimlib] / src / lzms_decompress.c
index 7f82803c9339b61d06da48756b45767ae12fa30d..bd7e76e12e809dcbd222baf08557ebce51990717 100644 (file)
@@ -430,9 +430,7 @@ lzms_ensure_bits(struct lzms_input_bitstream *is, unsigned num_bits)
 static inline bitbuf_t
 lzms_peek_bits(struct lzms_input_bitstream *is, unsigned num_bits)
 {
-       if (unlikely(num_bits == 0))
-               return 0;
-       return is->bitbuf >> (sizeof(is->bitbuf) * 8 - num_bits);
+       return (is->bitbuf >> 1) >> (sizeof(is->bitbuf) * 8 - num_bits - 1);
 }
 
 /* Remove @num_bits bits from the bitbuffer variable.  */