diff options
Diffstat (limited to 'main.cc')
-rw-r--r-- | main.cc | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -103,6 +103,7 @@ void show_help() " -D, --range-decompress=<range> decompress only a range of bytes (N-M)\n" " -f, --force overwrite existing output files\n" // " -g, --generate-recover-file generate a recover file\n" + " -i, --ignore-errors make '--range-decompress' ignore data errors\n" " -k, --keep keep (don't delete) input files\n" " -l, --list print total file sizes and ratios\n" " -m, --merge correct errors in file using several copies\n" @@ -399,7 +400,7 @@ int decompress( const int infd, const Pretty_print & pp, const bool testing ) { pp( "Invalid dictionary size in member header" ); retval = 2; break; } if( verbosity >= 2 || ( verbosity == 1 && first_member ) ) - { pp(); if( verbosity >= 2 ) show_header( header ); } + { pp(); if( verbosity >= 3 ) show_header( header ); } LZ_decoder decoder( header, rdec, outfd ); const int result = decoder.decode_member( pp ); @@ -507,6 +508,7 @@ int main( const int argc, const char * const argv[] ) int infd = -1; Mode program_mode = m_none; bool force = false; + bool ignore = false; bool keep_input_files = false; bool to_stdout = false; invocation_name = argv[0]; @@ -518,9 +520,11 @@ int main( const int argc, const char * const argv[] ) { 'D', "range-decompress", Arg_parser::yes }, { 'f', "force", Arg_parser::no }, { 'h', "help", Arg_parser::no }, + { 'i', "ignore-errors", Arg_parser::no }, { 'k', "keep", Arg_parser::no }, { 'l', "list", Arg_parser::no }, { 'm', "merge", Arg_parser::no }, + { 'n', "threads", Arg_parser::yes }, { 'o', "output", Arg_parser::yes }, { 'q', "quiet", Arg_parser::no }, { 'R', "repair", Arg_parser::no }, @@ -548,9 +552,11 @@ int main( const int argc, const char * const argv[] ) range_string = arg; break; case 'f': force = true; break; case 'h': show_help(); return 0; + case 'i': ignore = true; break; case 'k': keep_input_files = true; break; case 'l': set_mode( program_mode, m_list ); break; case 'm': set_mode( program_mode, m_merge ); break; + case 'n': break; case 'o': default_output_filename = arg; break; case 'q': verbosity = -1; break; case 'R': set_mode( program_mode, m_repair ); break; @@ -600,7 +606,7 @@ int main( const int argc, const char * const argv[] ) case m_range: one_file( filenames.size() ); return range_decompress( filenames[0], default_output_filename, - range_string, verbosity, force, to_stdout ); + range_string, verbosity, force, ignore, to_stdout ); case m_repair: one_file( filenames.size() ); if( !default_output_filename.size() ) |