]> Dogcows Code - chaz/tar/blobdiff - src/names.c
Fix unquoting of input file names.
[chaz/tar] / src / names.c
index 8b32de196e77d96c9aebb29730bdf304c0205599..fc9841e25410d45f9ff3c3871ab676863af39d09 100644 (file)
@@ -22,6 +22,7 @@
 #include <hash.h>
 #include <quotearg.h>
 #include <wordsplit.h>
+#include <argp.h>
 
 #include "common.h"
 \f
@@ -491,6 +492,8 @@ read_next_name (struct name_elt *ent, struct name_elt *ret)
          ent->v.file.term = 0;
          /* fall through */
        case file_list_success:
+         if (unquote_option)
+           unquote_string (name_buffer);
          if (handle_option (name_buffer) == 0)
            {
              name_list_adjust ();
@@ -1238,13 +1241,11 @@ collect_and_sort_names (void)
   namelist = merge_sort (namelist, num_names, compare_names);
 
   num_names = 0;
-  nametab = hash_initialize (0, 0,
-                            name_hash,
-                            name_compare, NULL);
+  nametab = hash_initialize (0, 0, name_hash, name_compare, NULL);
   for (name = namelist; name; name = next_name)
     {
       next_name = name->next;
-      name->caname = normalize_filename (name->name);
+      name->caname = normalize_filename (name->change_dir, name->name);
       if (prev_name)
        {
          struct name *p = hash_lookup (nametab, name);
This page took 0.019724 seconds and 4 git commands to generate.