[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-tar] [PATCH] Remove duplicate NEWS entry
From: |
Sergey Poznyakoff |
Subject: |
Re: [Bug-tar] [PATCH] Remove duplicate NEWS entry |
Date: |
Thu, 13 Feb 2014 18:23:35 +0200 |
Hi Pavel,
Thanks for noticing. Please try the attached patch. Let me know if it
works for you.
Regards,
Sergey
diff --git a/src/extract.c b/src/extract.c
index 2cc1f7b..ca25603 100644
--- a/src/extract.c
+++ b/src/extract.c
@@ -191,19 +191,6 @@ extr_init (void)
umask (newdir_umask); /* restore the kernel umask */
current_umask = newdir_umask;
}
-
- /* If the user wants to guarantee that everything is under one directory,
- determine its name now and let it be created later. */
- if (one_top_level_option && !one_top_level_dir)
- {
- char *base = base_name (archive_name_array[0]);
-
- one_top_level_dir = strip_compression_suffix (base);
- free (base);
-
- if (!one_top_level_dir)
- USAGE_ERROR ((0, 0, _("Cannot deduce top-level directory name; please
set it explicitly with --one-top-level=DIR")));
- }
}
/* Use fchmod if possible, fchmodat otherwise. */
diff --git a/src/tar.c b/src/tar.c
index cd28495..f6062d5 100644
--- a/src/tar.c
+++ b/src/tar.c
@@ -2562,6 +2562,19 @@ decode_options (int argc, char **argv)
case LIST_SUBCOMMAND:
case DIFF_SUBCOMMAND:
case TEST_LABEL_SUBCOMMAND:
+ /* If the user wants to guarantee that everything is under one directory,
+ determine its name now and let it be created later. */
+ if (one_top_level_option && !one_top_level_dir)
+ {
+ char *base = base_name (archive_name_array[0]);
+
+ one_top_level_dir = strip_compression_suffix (base);
+ free (base);
+
+ if (!one_top_level_dir)
+ USAGE_ERROR ((0, 0,
+ _("Cannot deduce top-level directory name; please set
it explicitly with --one-top-level=DIR")));
+ }
for (archive_name_cursor = archive_name_array;
archive_name_cursor < archive_name_array + archive_names;
archive_name_cursor++)