]> Dogcows Code - chaz/tar/blobdiff - src/names.c
Minor fixes.
[chaz/tar] / src / names.c
index eaa94d284aa7257c08970ff877155b1e3542e9aa..0a282b9c071f516eb6bf58e021877e063bfe6798 100644 (file)
@@ -912,9 +912,9 @@ collect_and_sort_names (void)
       read_directory_file ();
     }
   
-  for (name = namelist; name; name = next_name)
+  num_names = 0;
+  for (name = namelist; name; name = name->next, num_names++)
     {
-      next_name = name->next;
       if (name->found_count || name->dir_contents)
        continue;
       if (name->matching_flags & EXCLUDE_WILDCARDS)
@@ -934,15 +934,10 @@ collect_and_sort_names (void)
       if (S_ISDIR (statbuf.st_mode))
        {
          name->found_count++;
-         if (name->found_count == 1)
-           add_hierarchy_to_namelist (name, statbuf.st_dev, true);
+         add_hierarchy_to_namelist (name, statbuf.st_dev, true);
        }
     }
 
-  num_names = 0;
-  for (name = namelist; name; name = name->next)
-    num_names++;
-
   namelist = merge_sort (namelist, num_names, compare_names);
 
   num_names = 0;
@@ -980,7 +975,8 @@ collect_and_sort_names (void)
            }
        }
       name->found_count = 0;
-      hash_insert (nametab, name);
+      if (!hash_insert (nametab, name))
+       xalloc_die ();
       prev_name = name;
       num_names++;
     }
This page took 0.027437 seconds and 4 git commands to generate.