// Filters
{ "lzma1", optional_argument, NULL, OPT_LZMA1 },
{ "lzma2", optional_argument, NULL, OPT_LZMA2 },
- { "x86", no_argument, NULL, OPT_X86 },
- { "bcj", no_argument, NULL, OPT_X86 },
- { "powerpc", no_argument, NULL, OPT_POWERPC },
- { "ppc", no_argument, NULL, OPT_POWERPC },
- { "ia64", no_argument, NULL, OPT_IA64 },
- { "itanium", no_argument, NULL, OPT_IA64 },
- { "arm", no_argument, NULL, OPT_ARM },
- { "armthumb", no_argument, NULL, OPT_ARMTHUMB },
- { "sparc", no_argument, NULL, OPT_SPARC },
+ { "x86", optional_argument, NULL, OPT_X86 },
+ { "bcj", optional_argument, NULL, OPT_X86 },
+ { "powerpc", optional_argument, NULL, OPT_POWERPC },
+ { "ppc", optional_argument, NULL, OPT_POWERPC },
+ { "ia64", optional_argument, NULL, OPT_IA64 },
+ { "itanium", optional_argument, NULL, OPT_IA64 },
+ { "arm", optional_argument, NULL, OPT_ARM },
+ { "armthumb", optional_argument, NULL, OPT_ARMTHUMB },
+ { "sparc", optional_argument, NULL, OPT_SPARC },
{ "delta", optional_argument, NULL, OPT_DELTA },
{ "subblock", optional_argument, NULL, OPT_SUBBLOCK },
break;
case OPT_X86:
- coder_add_filter(LZMA_FILTER_X86, NULL);
+ coder_add_filter(LZMA_FILTER_X86,
+ options_bcj(optarg));
break;
case OPT_POWERPC:
- coder_add_filter(LZMA_FILTER_POWERPC, NULL);
+ coder_add_filter(LZMA_FILTER_POWERPC,
+ options_bcj(optarg));
break;
case OPT_IA64:
- coder_add_filter(LZMA_FILTER_IA64, NULL);
+ coder_add_filter(LZMA_FILTER_IA64,
+ options_bcj(optarg));
break;
case OPT_ARM:
- coder_add_filter(LZMA_FILTER_ARM, NULL);
+ coder_add_filter(LZMA_FILTER_ARM,
+ options_bcj(optarg));
break;
case OPT_ARMTHUMB:
- coder_add_filter(LZMA_FILTER_ARMTHUMB, NULL);
+ coder_add_filter(LZMA_FILTER_ARMTHUMB,
+ options_bcj(optarg));
break;
case OPT_SPARC:
- coder_add_filter(LZMA_FILTER_SPARC, NULL);
+ coder_add_filter(LZMA_FILTER_SPARC,
+ options_bcj(optarg));
break;
case OPT_DELTA:
puts(_(
"\n"
-" --x86 x86 filter (sometimes called BCJ filter)\n"
-" --powerpc PowerPC (big endian) filter\n"
-" --ia64 IA64 (Itanium) filter\n"
-" --arm ARM filter\n"
-" --armthumb ARM-Thumb filter\n"
-" --sparc SPARC filter"));
+" --x86[=OPTS] x86 BCJ filter\n"
+" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n"
+" --ia64[=OPTS] IA64 (Itanium) BCJ filter\n"
+" --arm[=OPTS] ARM BCJ filter (little endian only)\n"
+" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n"
+" --sparc[=OPTS] SPARC BCJ filter\n"
+" Valid OPTS for all BCJ filters:\n"
+" start=NUM start offset for conversions (default=0)"));
#if defined(HAVE_ENCODER_DELTA) || defined(HAVE_DECODER_DELTA)
puts(_(