]> Dogcows Code - chaz/tar/blobdiff - src/names.c
(safer_name_suffix): Reverted change made 2003-11-14. Reason: Discussion with Paul...
[chaz/tar] / src / names.c
index 3ebf9cb2f25911098a43871ebf98561aed4b34c1..6fc5ee5105ba68d0ceadde88b1391fa33bbeb516 100644 (file)
@@ -608,9 +608,11 @@ bool
 all_names_found (struct tar_stat_info *p)
 {
   struct name const *cursor;
-  size_t len = strlen (p->file_name);
-  if (occurrence_option == 0 || p->had_trailing_slash)
+  size_t len;
+
+  if (!p->file_name || occurrence_option == 0 || p->had_trailing_slash)
     return false;
+  len = strlen (p->file_name);
   for (cursor = namelist; cursor; cursor = cursor->next)
     {
       if (cursor->regexp
@@ -831,10 +833,7 @@ collect_and_sort_names (void)
 
       if (deref_stat (dereference_option, name->name, &statbuf) != 0)
        {
-         if (ignore_failed_read_option)
-           stat_warn (name->name);
-         else
-           stat_error (name->name);
+         stat_diag (name->name);
          continue;
        }
       if (S_ISDIR (statbuf.st_mode))
@@ -1022,9 +1021,9 @@ safer_name_suffix (char const *file_name, bool link_target)
 
       for (p = file_name + prefix_len; *p; )
        {
-         if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
+          if (p[0] == '.' && p[1] == '.' && (ISSLASH (p[2]) || !p[2]))
            prefix_len = p + 2 - file_name;
-
+         
          do
            {
              char c = *p++;
@@ -1068,7 +1067,7 @@ safer_name_suffix (char const *file_name, bool link_target)
          };
          WARN ((0, 0, _(diagnostic[link_target])));
        }
-
+      
       p = ".";
     }
 
This page took 0.02108 seconds and 4 git commands to generate.