SHOW_OMITTED_DIRS_OPTION,
STRIP_COMPONENTS_OPTION,
SUFFIX_OPTION,
+ TEST_LABEL_OPTION,
TO_COMMAND_OPTION,
TOTALS_OPTION,
UNQUOTE_OPTION,
N_("process only the NUMBERth occurrence of each file in the archive. This option is valid only in conjunction with one of the subcommands --delete, --diff, --extract or --list and when a list of files is given either on the command line or via -T option. NUMBER defaults to 1."), 21 },
{"seek", 'n', NULL, 0,
N_("archive is seekable"), 21 },
+ {"test-label", TEST_LABEL_OPTION, NULL, 0,
+ N_("List volume label and exit"), 21 },
+
{NULL, 0, NULL, 0,
N_("Overwrite control:"), 30},
{
int c;
size_t counter = 0;
-
+
for (c = getc (fp); c != EOF && c != filename_terminator; c = getc (fp))
{
if (c == 0)
size_t new_argc;
bool is_stdin = false;
enum read_file_list_state read_state;
-
+
if (!strcmp (filename, "-"))
{
is_stdin = true;
if (read_state == file_list_zero)
{
size_t size;
-
+
WARN ((0, 0, N_("%s: file name read contains nul character"),
quotearg_colon (filename)));
for (; size > 0; size--, p++)
if (*p)
obstack_1grow (&argv_stk, *p);
- else
+ else
obstack_1grow (&argv_stk, '\n');
obstack_1grow (&argv_stk, 0);
count = 1;
stat_error (arg);
USAGE_ERROR ((0, 0, _("Date sample file not found")));
}
- newer_mtime_option.tv_sec = st.st_mtime;
- newer_mtime_option.tv_nsec = TIMESPEC_NS (st.st_mtim);
+ newer_mtime_option = get_stat_mtime (&st);
}
else
{
if (! get_date (&newer_mtime_option, arg, NULL))
{
WARN ((0, 0, _("Substituting %s for unknown date format %s"),
- tartime (newer_mtime_option.tv_sec), quote (arg)));
+ tartime (newer_mtime_option, false), quote (arg)));
newer_mtime_option.tv_nsec = 0;
}
else
verbose_option++;
break;
+ case TEST_LABEL_OPTION:
+ set_subcommand_option (LIST_SUBCOMMAND);
+ test_label_option = true;
+ break;
+
case 'T':
update_argv (arg, state);
/* Indicate we've been given -T option. This is for backward
if (recursive_unlink_option)
old_files_option = UNLINK_FIRST_OLD_FILES;
- if (utc_option)
+
+ if (test_label_option)
+ {
+ /* --test-label is silent if the user has specified the label name to
+ compare against. */
+ if (args.input_files == 0)
+ verbose_option++;
+ }
+ else if (utc_option)
verbose_option = 2;
/* Forbid using -c with no input files whatsoever. Check that `-f -',
if (verbose_option && args.textual_date_option)
{
- /* FIXME: tartime should support nanoseconds, too, so that this
- comparison doesn't complain about lost nanoseconds. */
- char const *treated_as = tartime (newer_mtime_option.tv_sec);
+ char const *treated_as = tartime (newer_mtime_option, true);
if (strcmp (args.textual_date_option, treated_as) != 0)
- WARN ((0, 0,
- ngettext ("Treating date `%s' as %s + %ld nanosecond",
- "Treating date `%s' as %s + %ld nanoseconds",
- newer_mtime_option.tv_nsec),
- args.textual_date_option, treated_as,
- newer_mtime_option.tv_nsec));
+ WARN ((0, 0, _("Treating date `%s' as %s"),
+ args.textual_date_option, treated_as));
}
}