bool opt_keep_original = false;
bool opt_robot = false;
bool opt_ignore_check = false;
+bool opt_recursive = false;
// We don't modify or free() this, but we need to assign it in some
// non-const pointers.
{ "single-stream", no_argument, NULL, OPT_SINGLE_STREAM },
{ "no-sparse", no_argument, NULL, OPT_NO_SPARSE },
{ "suffix", required_argument, NULL, 'S' },
- // { "recursive", no_argument, NULL, 'r' }, // TODO
+ { "recursive", no_argument, NULL, 'r' },
{ "files", optional_argument, NULL, OPT_FILES },
{ "files0", optional_argument, NULL, OPT_FILES0 },
suffix_set(optarg);
break;
+ // --recursive
+ case 'r':
+ opt_recursive = true;
+ break;
+
case 'T': {
// Since xz 5.4.0: Ignore leading '+' first.
const char *s = optarg;
extern bool opt_stdout;
extern bool opt_force;
extern bool opt_keep_original;
-// extern bool opt_recursive;
+extern bool opt_recursive;
extern bool opt_robot;
extern bool opt_ignore_check;