The compiler almost certainly knows better.
[project/opkg-lede.git] / libbb / unzip.c
index 3826316..08c17d4 100644 (file)
  * See the file algorithm.doc for the compression algorithms and file formats.
  */
 
-#if 0
-static char *license_msg[] = {
-       "   Copyright (C) 1992-1993 Jean-loup Gailly",
-       "   This program is free software; you can redistribute it and/or modify",
-       "   it under the terms of the GNU General Public License as published by",
-       "   the Free Software Foundation; either version 2, or (at your option)",
-       "   any later version.",
-       "",
-       "   This program is distributed in the hope that it will be useful,",
-       "   but WITHOUT ANY WARRANTY; without even the implied warranty of",
-       "   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the",
-       "   GNU General Public License for more details.",
-       "",
-       "   You should have received a copy of the GNU General Public License",
-       "   along with this program; if not, write to the Free Software",
-       "   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.",
-       0
-};
-#endif
-
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <signal.h>
@@ -71,7 +51,7 @@ static FILE *in_file, *out_file;
 
 /* these are freed by gz_close */
 static unsigned char *window;
-static unsigned long *crc_table;
+static unsigned long *crc_table = NULL;
 
 static unsigned long crc; /* shift register contents */
 
@@ -216,16 +196,16 @@ static int huft_build(unsigned int *b, const unsigned int n, const unsigned int
        unsigned f;             /* i repeats in table every f entries */
        int g;                  /* maximum code length */
        int h;                  /* table level */
-       register unsigned i;    /* counter, current code */
-       register unsigned j;    /* counter */
-       register int k;         /* number of bits in current code */
+       unsigned i;     /* counter, current code */
+       unsigned j;     /* counter */
+       int k;          /* number of bits in current code */
        int l;                  /* bits per table (returned in m) */
-       register unsigned *p;           /* pointer into c[], b[], or v[] */
-       register huft_t *q;     /* points to current table */
+       unsigned *p;            /* pointer into c[], b[], or v[] */
+       huft_t *q;      /* points to current table */
        huft_t r;               /* table entry for structure assignment */
        huft_t *u[BMAX];        /* table stack */
        unsigned v[N_MAX];      /* values in order of bit length */
-       register int w;         /* bits before this table == (l * h) */
+       int w;          /* bits before this table == (l * h) */
        unsigned x[BMAX + 1];   /* bit offsets, then code stack */
        unsigned *xp;           /* pointer into x */
        int y;                  /* number of dummy codes added */
@@ -383,13 +363,13 @@ static int huft_build(unsigned int *b, const unsigned int n, const unsigned int
  */
 static int inflate_codes(huft_t *tl, huft_t *td, int bl, int bd)
 {
-       register unsigned long e;               /* table entry flag/number of extra bits */
+       unsigned long e;                /* table entry flag/number of extra bits */
        unsigned long n, d;                             /* length and index for copy */
        unsigned long w;                                /* current window position */
        huft_t *t;                              /* pointer to table entry */
        unsigned ml, md;                        /* masks for bl and bd bits */
-       register unsigned long b;                               /* bit buffer */
-       register unsigned k;            /* number of bits in bit buffer */
+       unsigned long b;                                /* bit buffer */
+       unsigned k;             /* number of bits in bit buffer */
 
        /* make local copies of globals */
        b = bb;                                 /* initialize bit buffer */
@@ -510,8 +490,8 @@ static int inflate_codes(huft_t *tl, huft_t *td, int bl, int bd)
 static int inflate_block(int *e)
 {
        unsigned t;                     /* block type */
-       register unsigned long b;                       /* bit buffer */
-       register unsigned k;            /* number of bits in bit buffer */
+       unsigned long b;                        /* bit buffer */
+       unsigned k;             /* number of bits in bit buffer */
        static unsigned short cplens[] = {              /* Copy lengths for literal codes 257..285 */
                3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
                35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0
@@ -564,8 +544,8 @@ static int inflate_block(int *e)
                {
                        unsigned long n;                        /* number of bytes in block */
                        unsigned long w;                        /* current window position */
-                       register unsigned long b_stored;                        /* bit buffer */
-                       register unsigned long k_stored;                /* number of bits in bit buffer */
+                       unsigned long b_stored;                 /* bit buffer */
+                       unsigned long k_stored;         /* number of bits in bit buffer */
 
                        /* make local copies of globals */
                        b_stored = bb;                          /* initialize bit buffer */
@@ -690,8 +670,8 @@ static int inflate_block(int *e)
                        unsigned nd;                            /* number of distance codes */
 
                        unsigned ll[286 + 30];          /* literal/length and distance code lengths */
-                       register unsigned long b_dynamic;       /* bit buffer */
-                       register unsigned k_dynamic;            /* number of bits in bit buffer */
+                       unsigned long b_dynamic;        /* bit buffer */
+                       unsigned k_dynamic;             /* number of bits in bit buffer */
 
                        /* make local bit buffer */
                        b_dynamic = bb;
@@ -1020,6 +1000,9 @@ extern int unzip(FILE *l_in_file, FILE *l_out_file)
        free(window);
        free(crc_table);
 
+       window = NULL;
+       crc_table = NULL;
+
        return exit_code;
 }