summaryrefslogtreecommitdiff
path: root/infutil.h
diff options
context:
space:
mode:
Diffstat (limited to 'infutil.h')
-rw-r--r--infutil.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/infutil.h b/infutil.h
index 30b230d..2aabf3c 100644
--- a/infutil.h
+++ b/infutil.h
@@ -22,7 +22,7 @@ struct inflate_blocks_state {
22 CODES, /* processing fixed or dynamic block */ 22 CODES, /* processing fixed or dynamic block */
23 DRY, /* output remaining window bytes */ 23 DRY, /* output remaining window bytes */
24 DONE, /* finished last block, done */ 24 DONE, /* finished last block, done */
25 ERROR} /* got a data error--stuck here */ 25 INF_ERROR}/* got a data error--stuck here */
26 mode; /* current inflate_block mode */ 26 mode; /* current inflate_block mode */
27 27
28 /* mode dependent information */ 28 /* mode dependent information */
@@ -63,7 +63,13 @@ struct inflate_blocks_state {
63#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;} 63#define LOADIN {p=z->next_in;n=z->avail_in;b=s->bitb;k=s->bitk;}
64#define NEEDBYTE {if(n)r=Z_OK;else LEAVE} 64#define NEEDBYTE {if(n)r=Z_OK;else LEAVE}
65#define NEXTBYTE (n--,*p++) 65#define NEXTBYTE (n--,*p++)
66#define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}} 66#ifdef __TURBOC__ /* bug in TurboC compiler, bad code for b << 0 */
67# define NEEDBITS(j) {\
68 while(k<(j)){NEEDBYTE;b=k?b|(((uLong)NEXTBYTE)<<k):NEXTBYTE;k+=8;}\
69}
70#else
71# define NEEDBITS(j) {while(k<(j)){NEEDBYTE;b|=((uLong)NEXTBYTE)<<k;k+=8;}}
72#endif
67#define DUMPBITS(j) {b>>=(j);k-=(j);} 73#define DUMPBITS(j) {b>>=(j);k-=(j);}
68/* output bytes */ 74/* output bytes */
69#define WAVAIL (q<s->read?s->read-q-1:s->end-q) 75#define WAVAIL (q<s->read?s->read-q-1:s->end-q)