Handle new options --to-command,--ignore-command-error

This commit is contained in:
Sergey Poznyakoff
2005-02-05 10:35:18 +00:00
parent 0b939d7dbc
commit 4d24adbecb

View File

@@ -192,6 +192,7 @@ enum
GROUP_OPTION,
HANG_OPTION,
IGNORE_CASE_OPTION,
IGNORE_COMMAND_ERROR_OPTION,
IGNORE_FAILED_READ_OPTION,
INDEX_FILE_OPTION,
KEEP_NEWER_FILES_OPTION,
@@ -200,6 +201,7 @@ enum
NEWER_MTIME_OPTION,
NO_ANCHORED_OPTION,
NO_IGNORE_CASE_OPTION,
NO_IGNORE_COMMAND_ERROR_OPTION,
NO_OVERWRITE_DIR_OPTION,
NO_RECURSION_OPTION,
NO_SAME_OWNER_OPTION,
@@ -228,6 +230,7 @@ enum
SHOW_OMITTED_DIRS_OPTION,
STRIP_COMPONENTS_OPTION,
SUFFIX_OPTION,
TO_COMMAND_OPTION,
TOTALS_OPTION,
UNQUOTE_OPTION,
USAGE_OPTION,
@@ -315,6 +318,12 @@ static struct argp_option options[] = {
N_("handle sparse files efficiently"), 21 },
{"to-stdout", 'O', 0, 0,
N_("extract files to standard output"), 21 },
{"to-command", TO_COMMAND_OPTION, N_("COMMAND"), 0,
N_("pipe extracted files to another program"), 21 },
{"ignore-command-error", IGNORE_COMMAND_ERROR_OPTION, 0, 0,
N_("ignore exit codes of children"), 21 },
{"no-ignore-command-error", NO_IGNORE_COMMAND_ERROR_OPTION, 0, 0,
N_("treat non-zero exit codes of children as error"), 21 },
{"incremental", 'G', 0, 0,
N_("handle old GNU-format incremental backup"), 21 },
{"listed-incremental", 'g', N_("FILE"), 0,
@@ -1088,6 +1097,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
case IGNORE_CASE_OPTION:
args->exclude_options |= FNM_CASEFOLD;
break;
case IGNORE_COMMAND_ERROR_OPTION:
ignore_command_error_option = true;
break;
case IGNORE_FAILED_READ_OPTION:
ignore_failed_read_option = true;
@@ -1129,6 +1142,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
args->exclude_options &= ~ FNM_CASEFOLD;
break;
case NO_IGNORE_COMMAND_ERROR_OPTION:
ignore_command_error_option = false;
break;
case NO_OVERWRITE_DIR_OPTION:
old_files_option = NO_OVERWRITE_DIR_OLD_FILES;
break;
@@ -1249,6 +1266,12 @@ parse_opt (int key, char *arg, struct argp_state *state)
backup_option = true;
args->backup_suffix_string = arg;
break;
case TO_COMMAND_OPTION:
if (to_command_option)
USAGE_ERROR ((0, 0, _("Only one --to-command option allowed")));
to_command_option = arg;
break;
case TOTALS_OPTION:
totals_option = true;