- istream->bitbuf |= le16_to_cpu(*(le16*)istream->data) <<
- (INPUT_BITBUF_BITS - 16 - istream->bitsleft);
- istream->data += 2;
- istream->bitsleft += 16;
- istream->data_bytes_left -= 2;
+ nextword = le16_to_cpu(*(const le16*)istream->data);
+ shift = sizeof(istream->bitbuf) * 8 - 16 - istream->bitsleft;
+ istream->bitbuf |= (u32)nextword << shift;
+ istream->data += 2;
+ istream->bitsleft += 16;
+ istream->data_bytes_left -= 2;
+
+ }