X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fnames.c;h=5cb1aa544a8588d20f12e75ea4c53e0eb330baba;hb=fc184a85e1cc0a75f8f034a9940e090555bc95bd;hp=66648a08810460579849f18d80331b233edca67a;hpb=052118a907a138fc6d9189470ed05a9eb32f8fe9;p=chaz%2Ftar diff --git a/src/names.c b/src/names.c index 66648a0..5cb1aa5 100644 --- a/src/names.c +++ b/src/names.c @@ -833,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)) @@ -1024,10 +1021,13 @@ 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])) - prefix_len = p + 2 - file_name; - else if (p[0] == '.' && ISSLASH (p[1])) - prefix_len = p + 1 - file_name; + if (p[0] == '.') + { + if (p[1] == '.' && (ISSLASH (p[2]) || !p[2])) + prefix_len = p + 2 - file_name; + else if (ISSLASH (p[1])) + prefix_len = p + 1 - file_name; + } do { @@ -1073,7 +1073,7 @@ safer_name_suffix (char const *file_name, bool link_target) WARN ((0, 0, _(diagnostic[link_target]))); } - p = "."; + p = ISSLASH (file_name[strlen(file_name)-1]) ? "./" : "."; } return (char *) p;