55 const unsigned short FAR *base;
56 const unsigned short FAR *extra;
60 static const unsigned short lbase[31] = {
61 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
62 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
63 static const unsigned short lext[31] = {
64 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
65 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 199, 202};
66 static const unsigned short dbase[32] = {
67 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
68 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
69 8193, 12289, 16385, 24577, 0, 0};
70 static const unsigned short dext[32] = {
71 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
72 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
73 28, 28, 29, 29, 64, 64};
109 for (sym = 0; sym <
codes; sym++)
118 here.
op = (
unsigned char)64;
119 here.
bits = (
unsigned char)1;
120 here.
val = (
unsigned short)0;
135 if (left < 0)
return -1;
146 for (sym = 0; sym <
codes; sym++)
147 if (lens[sym] != 0) work[offs[lens[sym]]++] = (
unsigned short)sym;
216 here.
bits = (
unsigned char)(
len - drop);
217 if (work[sym] + 1U <
match) {
218 here.
op = (
unsigned char)0;
219 here.
val = work[sym];
221 else if (work[sym] >=
match) {
222 here.
op = (
unsigned char)(extra[work[sym] -
match]);
226 here.
op = (
unsigned char)(32 + 64);
231 incr = 1U << (
len - drop);
236 next[(huff >> drop) + fill] = here;
240 incr = 1U << (
len - 1);
254 len = lens[work[sym]];
268 left = (
int)(1 << curr);
269 while (curr + drop <
max) {
270 left -=
count[curr + drop];
271 if (left <= 0)
break;
284 (*table)[low].op = (
unsigned char)curr;
285 (*table)[low].bits = (
unsigned char)
root;
286 (*table)[low].val = (
unsigned short)(next - *table);
294 here.
op = (
unsigned char)64;
295 here.
bits = (
unsigned char)(
len - drop);
296 here.
val = (
unsigned short)0;
int bits(struct state *s, int need)
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void count
unsigned char match[65280+2]
static void struct sockaddr socklen_t static fromlen static backlog static fork char char char static envp int struct rusage static rusage struct utsname static buf struct sembuf unsigned
int codes(struct state *s, const struct huffman *lencode, const struct huffman *distcode)