* options.h, g10.c (main), compress-bz2.c (init_uncompress): Add
authorDavid Shaw <dshaw@jabberwocky.com>
Tue, 18 Nov 2003 02:52:35 +0000 (02:52 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Tue, 18 Nov 2003 02:52:35 +0000 (02:52 +0000)
--bz2-compress-lowmem to set bzlib "small" flag for low memory (but slow)
decompression.

g10/ChangeLog
g10/compress-bz2.c
g10/g10.c
g10/options.h

index 38f446c..c905db4 100644 (file)
@@ -1,3 +1,9 @@
+2003-11-17  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, g10.c (main), compress-bz2.c (init_uncompress): Add
+       --bz2-compress-lowmem to set bzlib "small" flag for low memory
+       (but slow) decompression.
+
 2003-11-15  David Shaw  <dshaw@jabberwocky.com>
 
        * compress.c (init_compress): Remove compress level 10 trick,
index a81288e..139a399 100644 (file)
@@ -100,7 +100,7 @@ init_uncompress( compress_filter_context_t *zfx, bz_stream *bzs )
 {
   int rc;
 
-  if((rc=BZ2_bzDecompressInit(bzs,0,0))!=BZ_OK)
+  if((rc=BZ2_bzDecompressInit(bzs,0,opt.bz2_compress_lowmem))!=BZ_OK)
     log_fatal("bz2lib problem: %d\n",rc);
 
   zfx->inbufsize = 2048;
index 6509b3e..f449dde 100644 (file)
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -192,6 +192,7 @@ enum cmd_and_opt_values
     oCompressAlgo,
     oCompressLevel,
     oBZ2CompressLevel,
+    oBZ2CompressLowmem,
     oPasswdFD,
 #ifdef __riscos__
     oPasswdFile,
@@ -423,6 +424,7 @@ static ARGPARSE_OPTS opts[] = {
     { oCompress, NULL, 1, N_("|N|set compress level N (0 disables)") },
     { oCompressLevel, "compress-level", 1, "@" },
     { oBZ2CompressLevel, "bzip2-compress-level", 1, "@" },
+    { oBZ2CompressLowmem, "bzip2-compress-lowmem", 0, "@" },
     { oTextmodeShort, NULL,   0, "@"},
     { oTextmode, "textmode",  0, N_("use canonical text mode")},
     { oNoTextmode, "no-textmode",  0, "@"},
@@ -1790,6 +1792,7 @@ main( int argc, char **argv )
            break;
          case oCompressLevel: opt.compress_level = pargs.r.ret_int; break;
          case oBZ2CompressLevel: opt.bz2_compress_level = pargs.r.ret_int; break;
+         case oBZ2CompressLowmem: opt.bz2_compress_lowmem=1; break;
          case oPasswdFD:
             pwfd = iobuf_translate_file_handle (pargs.r.ret_int, 0);
             opt.use_agent = 0;
index 391adc8..f7b3a8f 100644 (file)
@@ -70,6 +70,7 @@ struct {
     int compress_algo;
     int compress_level;
     int bz2_compress_level;
+    int bz2_compress_lowmem;
     const char *def_secret_key;
     char *def_recipient;
     int def_recipient_self;