@ -35,6 +35,7 @@
/* #include "deflate.h" */
# include <linux/zutil.h>
# include <linux/bitrev.h>
# include "defutil.h"
# ifdef DEBUG_ZLIB
@ -146,7 +147,6 @@ static void send_all_trees (deflate_state *s, int lcodes, int dcodes,
static void compress_block ( deflate_state * s , ct_data * ltree ,
ct_data * dtree ) ;
static void set_data_type ( deflate_state * s ) ;
static unsigned bi_reverse ( unsigned value , int length ) ;
static void bi_windup ( deflate_state * s ) ;
static void bi_flush ( deflate_state * s ) ;
static void copy_block ( deflate_state * s , char * buf , unsigned len ,
@ -284,7 +284,7 @@ static void tr_static_init(void)
/* The static distance tree is trivial: */
for ( n = 0 ; n < D_CODES ; n + + ) {
static_dtree [ n ] . Len = 5 ;
static_dtree [ n ] . Code = bi_reverse ( ( unsigned ) n , 5 ) ;
static_dtree [ n ] . Code = bitrev32 ( ( u32 ) n ) > > ( 32 - 5 ) ;
}
static_init_done = 1 ;
}
@ -520,7 +520,7 @@ static void gen_codes(
int len = tree [ n ] . Len ;
if ( len = = 0 ) continue ;
/* Now reverse the bits */
tree [ n ] . Code = bi_reverse ( next_code [ len ] + + , len ) ;
tree [ n ] . Code = bitrev32 ( ( u32 ) ( next_code [ len ] + + ) ) > > ( 32 - len ) ;
Tracecv ( tree ! = static_ltree , ( stderr , " \n n %3d %c l %2d c %4x (%x) " ,
n , ( isgraph ( n ) ? n : ' ' ) , len , tree [ n ] . Code , next_code [ len ] - 1 ) ) ;