#include "gzip.h"
#define STATIC
#endif /* !STATIC */
+
+#ifndef INIT
+#define INIT
+#endif
#define slide window
/* Function prototypes */
-STATIC int huft_build OF((unsigned *, unsigned, unsigned,
+STATIC int INIT huft_build OF((unsigned *, unsigned, unsigned,
const ush *, const ush *, struct huft **, int *));
-STATIC int huft_free OF((struct huft *));
-STATIC int inflate_codes OF((struct huft *, struct huft *, int, int));
-STATIC int inflate_stored OF((void));
-STATIC int inflate_fixed OF((void));
-STATIC int inflate_dynamic OF((void));
-STATIC int inflate_block OF((int *));
-STATIC int inflate OF((void));
+STATIC int INIT huft_free OF((struct huft *));
+STATIC int INIT inflate_codes OF((struct huft *, struct huft *, int, int));
+STATIC int INIT inflate_stored OF((void));
+STATIC int INIT inflate_fixed OF((void));
+STATIC int INIT inflate_dynamic OF((void));
+STATIC int INIT inflate_block OF((int *));
+STATIC int INIT inflate OF((void));
/* The inflate algorithm uses a sliding 32 K byte window on the uncompressed
STATIC unsigned hufts; /* track memory usage */
-STATIC int huft_build(
+STATIC int INIT huft_build(
unsigned *b, /* code lengths in bits (all assumed <= BMAX) */
unsigned n, /* number of codes (assumed <= N_MAX) */
unsigned s, /* number of simple-valued codes (0..s-1) */
-STATIC int huft_free(
+STATIC int INIT huft_free(
struct huft *t /* table to free */
)
/* Free the malloc'ed tables built by huft_build(), which makes a linked
}
-STATIC int inflate_codes(
+STATIC int INIT inflate_codes(
struct huft *tl, /* literal/length decoder tables */
struct huft *td, /* distance decoder tables */
int bl, /* number of bits decoded by tl[] */
-STATIC int inflate_stored(void)
+STATIC int INIT inflate_stored(void)
/* "decompress" an inflated type 0 (stored) block. */
{
unsigned n; /* number of bytes in block */
/*
* We use `noinline' here to prevent gcc-3.5 from using too much stack space
*/
-STATIC int noinline inflate_fixed(void)
+STATIC int noinline INIT inflate_fixed(void)
/* decompress an inflated type 1 (fixed Huffman codes) block. We should
either replace this with a custom decoder, or at least precompute the
Huffman tables. */
/*
* We use `noinline' here to prevent gcc-3.5 from using too much stack space
*/
-STATIC int noinline inflate_dynamic(void)
+STATIC int noinline INIT inflate_dynamic(void)
/* decompress an inflated type 2 (dynamic Huffman codes) block. */
{
int i; /* temporary variables */
-STATIC int inflate_block(
+STATIC int INIT inflate_block(
int *e /* last block flag */
)
/* decompress an inflated block */
-STATIC int inflate(void)
+STATIC int INIT inflate(void)
/* decompress an inflated entry */
{
int e; /* last block flag */
* gzip-1.0.3/makecrc.c.
*/
-static void
+static void INIT
makecrc(void)
{
/* Not copyrighted 1990 Mark Adler */
/*
* Do the uncompression!
*/
-static int gunzip(void)
+static int INIT gunzip(void)
{
uch flags;
unsigned char magic[2]; /* magic header */