blob: 917e66655c47b454d86a612f51c3b1e29a3a9688 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
//bvb#include "timemmap.h"
#define OF(args) args
#define STATIC static
#define WSIZE 0x8000 /* Slideing window size (defined as var
* "window" below) must be at least 32k,
* and a power of two. This is the
* data work window used for input buffer
* by the input routine */
typedef unsigned char uch;
typedef unsigned short ush;
typedef unsigned long ulg;
static char *output_data;
static ulg output_ptr;
#ifndef NULL
#define NULL 0
#endif
#define NOMEMCPY /* Does routine memcpy exist? */
//bvb static uch *inbuf; /* input buffer */
static uch *window;
//bvb static uch outwin[WSIZE];
//bvb static unsigned insize; /* valid bytes in inbuf */
static unsigned inptr; /* index of next byte to process in inbuf */
static unsigned outcnt; /* bytes in output buffer */
/* gzip flag byte */
#define ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
#define EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
#define ORIG_NAME 0x08 /* bit 3 set: original file name present */
#define COMMENT 0x10 /* bit 4 set: file comment present */
#define ENCRYPTED 0x20 /* bit 5 set: file is encrypted */
#define RESERVED 0xC0 /* bit 6,7: reserved */
/* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
#define BMAX 16 /* maximum bit length of any code (16 for explode) */
#define N_MAX 288 /* maximum number of codes in any set */
static char *input_data;
static void *freememstart;
|