OSDN Git Service

gzip: reduce global data footprint, part 3
authorDenis Vlasenko <vda.linux@googlemail.com>
Wed, 14 Mar 2007 00:06:51 +0000 (00:06 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Wed, 14 Mar 2007 00:06:51 +0000 (00:06 -0000)
archival/gzip.c
archival/libunarchive/decompress_unzip.c
libbb/messages.c

index 76ee1cf..c8444ac 100644 (file)
@@ -355,8 +355,8 @@ struct global1 {
        uint32_t crc;   /* shift register contents */
 };
 
-extern struct global1 *global_ptr;
-#define G1 (*(global_ptr - 1))
+extern struct global1 *ptr_to_globals;
+#define G1 (*(ptr_to_globals - 1))
 
 
 /* ===========================================================================
@@ -972,7 +972,7 @@ struct global2 {
 
 };
 
-#define G2ptr ((struct global2*)(global_ptr))
+#define G2ptr ((struct global2*)(ptr_to_globals))
 #define G2 (*G2ptr)
 
 
@@ -2131,8 +2131,8 @@ int gzip_main(int argc, char **argv)
        }
 #endif
 
-       global_ptr = xzalloc(sizeof(struct global1) + sizeof(struct global2));
-       global_ptr++;
+       ptr_to_globals = xzalloc(sizeof(struct global1) + sizeof(struct global2));
+       ptr_to_globals++;
        G2.l_desc.dyn_tree    = G2.dyn_ltree;
        G2.l_desc.static_tree = G2.static_ltree;
        G2.l_desc.extra_bits  = extra_lbits;
index fb87fe8..331fe34 100644 (file)
@@ -455,6 +455,8 @@ static int huft_build(unsigned *b, const unsigned n,
  * bl, bd: number of bits decoded by tl[] and td[]
  */
 /* called once from inflate_block */
+
+/* map formerly local static variables to globals */
 #define ml inflate_codes_ml
 #define md inflate_codes_md
 #define bb inflate_codes_bb
index 7f23d4b..39bb4c9 100644 (file)
@@ -56,4 +56,4 @@ WTMP_FILE;
 
 char bb_common_bufsiz1[BUFSIZ+1];
 
-void *global_ptr;
+void *ptr_to_globals;