case 4:
if (strm->avail_in >= 8) {
br->cache_buffer =
- (((uint64_t)archive_le16dec(
- strm->next_in)) << 48) |
- (((uint64_t)archive_le16dec(
- strm->next_in+2)) << 32) |
- (((uint32_t)archive_le16dec(
- strm->next_in+4)) << 16) |
- archive_le16dec(strm->next_in+6);
+ ((uint64_t)strm->next_in[1]) << 56 |
+ ((uint64_t)strm->next_in[0]) << 48 |
+ ((uint64_t)strm->next_in[3]) << 40 |
+ ((uint64_t)strm->next_in[2]) << 32 |
+ ((uint32_t)strm->next_in[5]) << 24 |
+ ((uint32_t)strm->next_in[4]) << 16 |
+ ((uint32_t)strm->next_in[7]) << 8 |
+ (uint32_t)strm->next_in[6];
strm->next_in += 8;
strm->avail_in -= 8;
br->cache_avail += 8 * 8;
if (strm->avail_in >= 6) {
br->cache_buffer =
(br->cache_buffer << 48) |
- (((uint64_t)archive_le16dec(
- strm->next_in)) << 32) |
- (((uint32_t)archive_le16dec(
- strm->next_in+2)) << 16) |
- archive_le16dec(strm->next_in+4);
+ ((uint64_t)strm->next_in[1]) << 40 |
+ ((uint64_t)strm->next_in[0]) << 32 |
+ ((uint32_t)strm->next_in[3]) << 24 |
+ ((uint32_t)strm->next_in[2]) << 16 |
+ ((uint32_t)strm->next_in[5]) << 8 |
+ (uint32_t)strm->next_in[4];
strm->next_in += 6;
strm->avail_in -= 6;
br->cache_avail += 6 * 8;
* bytes. */
#define lzh_br_read_ahead(strm, br, n) \
(lzh_br_has(br, (n)) || lzh_br_fillup(strm, br))
-/* Notify how man bits we consumed. */
+/* Notify how many bits we consumed. */
#define lzh_br_consume(br, n) ((br)->cache_avail -= (n))
#define lzh_br_unconsume(br, n) ((br)->cache_avail += (n))
case 8:
if (strm->avail_in >= 8) {
br->cache_buffer =
- archive_be64dec(strm->next_in);
+ ((uint64_t)strm->next_in[0]) << 56 |
+ ((uint64_t)strm->next_in[1]) << 48 |
+ ((uint64_t)strm->next_in[2]) << 40 |
+ ((uint64_t)strm->next_in[3]) << 32 |
+ ((uint32_t)strm->next_in[4]) << 24 |
+ ((uint32_t)strm->next_in[5]) << 16 |
+ ((uint32_t)strm->next_in[6]) << 8 |
+ (uint32_t)strm->next_in[7];
strm->next_in += 8;
strm->avail_in -= 8;
br->cache_avail += 8 * 8;
}
break;
case 7:
- if (strm->avail_in >= 8) {/* Read extra one. */
+ if (strm->avail_in >= 7) {
br->cache_buffer =
(br->cache_buffer << 56) |
- archive_be64dec(strm->next_in) >> 8;
+ ((uint64_t)strm->next_in[0]) << 48 |
+ ((uint64_t)strm->next_in[1]) << 40 |
+ ((uint64_t)strm->next_in[2]) << 32 |
+ ((uint32_t)strm->next_in[3]) << 24 |
+ ((uint32_t)strm->next_in[4]) << 16 |
+ ((uint32_t)strm->next_in[5]) << 8 |
+ (uint32_t)strm->next_in[6];
strm->next_in += 7;
strm->avail_in -= 7;
br->cache_avail += 7 * 8;
if (strm->avail_in >= 6) {
br->cache_buffer =
(br->cache_buffer << 48) |
- (((uint64_t)archive_be32dec(
- strm->next_in)) << 16) |
- archive_be16dec(&strm->next_in[4]);
+ ((uint64_t)strm->next_in[0]) << 40 |
+ ((uint64_t)strm->next_in[1]) << 32 |
+ ((uint32_t)strm->next_in[2]) << 24 |
+ ((uint32_t)strm->next_in[3]) << 16 |
+ ((uint32_t)strm->next_in[4]) << 8 |
+ (uint32_t)strm->next_in[5];
strm->next_in += 6;
strm->avail_in -= 6;
br->cache_avail += 6 * 8;
* False : there is no data in the stream. */
#define rar_br_read_ahead(a, br, n) \
((rar_br_has(br, (n)) || rar_br_fillup(a, br)) || rar_br_has(br, (n)))
-/* Notify how man bits we consumed. */
+/* Notify how many bits we consumed. */
#define rar_br_consume(br, n) ((br)->cache_avail -= (n))
#define rar_br_consume_unalined_bits(br) ((br)->cache_avail &= ~7)
case 8:
if (br->avail_in >= 8) {
br->cache_buffer =
- archive_be64dec(br->next_in);
+ ((uint64_t)br->next_in[0]) << 56 |
+ ((uint64_t)br->next_in[1]) << 48 |
+ ((uint64_t)br->next_in[2]) << 40 |
+ ((uint64_t)br->next_in[3]) << 32 |
+ ((uint32_t)br->next_in[4]) << 24 |
+ ((uint32_t)br->next_in[5]) << 16 |
+ ((uint32_t)br->next_in[6]) << 8 |
+ (uint32_t)br->next_in[7];
br->next_in += 8;
br->avail_in -= 8;
br->cache_avail += 8 * 8;
}
break;
case 7:
- if (br->avail_in >= 8) {/* Read extra one. */
+ if (br->avail_in >= 7) {
br->cache_buffer =
(br->cache_buffer << 56) |
- archive_be64dec(br->next_in) >> 8;
+ ((uint64_t)br->next_in[0]) << 48 |
+ ((uint64_t)br->next_in[1]) << 40 |
+ ((uint64_t)br->next_in[2]) << 32 |
+ ((uint32_t)br->next_in[3]) << 24 |
+ ((uint32_t)br->next_in[4]) << 16 |
+ ((uint32_t)br->next_in[5]) << 8 |
+ (uint32_t)br->next_in[6];
br->next_in += 7;
br->avail_in -= 7;
br->cache_avail += 7 * 8;
if (br->avail_in >= 6) {
br->cache_buffer =
(br->cache_buffer << 48) |
- (((uint64_t)archive_be32dec(
- br->next_in)) << 16) |
- archive_be16dec(&br->next_in[4]);
+ ((uint64_t)br->next_in[0]) << 40 |
+ ((uint64_t)br->next_in[1]) << 32 |
+ ((uint32_t)br->next_in[2]) << 24 |
+ ((uint32_t)br->next_in[3]) << 16 |
+ ((uint32_t)br->next_in[4]) << 8 |
+ (uint32_t)br->next_in[5];
br->next_in += 6;
br->avail_in -= 6;
br->cache_avail += 6 * 8;