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
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))
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++;
};
WARN ((0, 0, _(diagnostic[link_target])));
}
-
+
p = ".";
}