diff options
Diffstat (limited to 'main.cc')
-rw-r--r-- | main.cc | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -87,6 +87,7 @@ void show_help( const long num_online ) " -h, --help display this help and exit\n" " -V, --version output version information and exit\n" " -A, --concatenate append tar.lz archives to the end of an archive\n" + " -B, --data-size=<bytes> set target size of input data blocks [2x8=16 MiB]\n" " -c, --create create a new archive\n" " -C, --directory=<dir> change to directory <dir>\n" " -f, --file=<archive> use archive file <archive>\n" @@ -98,6 +99,7 @@ void show_help( const long num_online ) " -x, --extract extract files from an archive\n" " -0 .. -9 set compression level [default 6]\n" " --asolid create solidly compressed appendable archive\n" + " --bsolid create per-data-block compressed archive\n" " --dsolid create per-directory compressed archive\n" " --no-solid create per-file compressed archive (default)\n" " --solid create solidly compressed archive\n" @@ -284,8 +286,8 @@ int main( const int argc, const char * const argv[] ) { show_error( "Bad library version. At least lzlib 1.0 is required." ); return 1; } - enum { opt_ano = 256, opt_aso, opt_crc, opt_dbg, opt_dso, opt_grp, opt_kd, - opt_nso, opt_own, opt_per, opt_sol, opt_un }; + enum { opt_ano = 256, opt_aso, opt_bso, opt_crc, opt_dbg, opt_dso, opt_grp, + opt_kd, opt_nso, opt_own, opt_per, opt_sol, opt_un }; const Arg_parser::Option options[] = { { '0', 0, Arg_parser::no }, @@ -299,6 +301,7 @@ int main( const int argc, const char * const argv[] ) { '8', 0, Arg_parser::no }, { '9', 0, Arg_parser::no }, { 'A', "concatenate", Arg_parser::no }, + { 'B', "data-size", Arg_parser::yes }, { 'c', "create", Arg_parser::no }, { 'C', "directory", Arg_parser::yes }, { 'f', "file", Arg_parser::yes }, @@ -313,6 +316,7 @@ int main( const int argc, const char * const argv[] ) { 'x', "extract", Arg_parser::no }, { opt_ano, "anonymous", Arg_parser::no }, { opt_aso, "asolid", Arg_parser::no }, + { opt_bso, "bsolid", Arg_parser::no }, { opt_dbg, "debug", Arg_parser::yes }, { opt_dso, "dsolid", Arg_parser::no }, { opt_grp, "group", Arg_parser::yes }, @@ -347,6 +351,8 @@ int main( const int argc, const char * const argv[] ) case '5': case '6': case '7': case '8': case '9': level = code - '0'; break; case 'A': set_mode( program_mode, m_concatenate ); break; + case 'B': cl_data_size = getnum( arg, min_data_size, max_data_size ); + break; case 'c': set_mode( program_mode, m_create ); break; case 'C': break; // skip chdir case 'f': if( sarg != "-" ) archive_name = sarg; break; @@ -361,6 +367,7 @@ int main( const int argc, const char * const argv[] ) case 'x': set_mode( program_mode, m_extract ); break; case opt_ano: set_owner( "root" ); set_group( "root" ); break; case opt_aso: solidity = asolid; break; + case opt_bso: solidity = bsolid; break; case opt_crc: missing_crc = true; break; case opt_dbg: debug_level = getnum( arg, 0, 3 ); break; case opt_dso: solidity = dsolid; break; |