From 16abcd90aefae8bdb9f7d80a555982dba6ca59b5 Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Fri, 13 Apr 2007 23:59:52 +0000 Subject: teach find_root_device to deal with /dev/ subdirs (by "Kirill K. Smirnov" ) --- coreutils/ls.c | 8 ++++---- coreutils/rm.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'coreutils') diff --git a/coreutils/ls.c b/coreutils/ls.c index 7bbb19d..b9c07ad 100644 --- a/coreutils/ls.c +++ b/coreutils/ls.c @@ -504,11 +504,11 @@ static struct dnode **list_dir(const char *path) /* are we going to list the file- it may be . or .. or a hidden file */ if (entry->d_name[0] == '.') { - if ((entry->d_name[1] == 0 || ( - entry->d_name[1] == '.' - && entry->d_name[2] == 0)) - && !(all_fmt & DISP_DOT)) + if ((!entry->d_name[1] || (entry->d_name[1] == '.' && !entry->d_name[2])) + && !(all_fmt & DISP_DOT) + ) { continue; + } if (!(all_fmt & DISP_HIDDEN)) continue; } diff --git a/coreutils/rm.c b/coreutils/rm.c index 61e3e70..e29073d 100644 --- a/coreutils/rm.c +++ b/coreutils/rm.c @@ -40,7 +40,7 @@ int rm_main(int argc, char **argv) do { const char *base = bb_get_last_path_component(*argv); - if ((base[0] == '.') && (!base[1] || ((base[1] == '.') && !base[2]))) { + if (DOT_OR_DOTDOT(base)) { bb_error_msg("cannot remove '.' or '..'"); } else if (remove_file(*argv, flags) >= 0) { continue; -- cgit v1.1