diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-04-13 23:59:52 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-04-13 23:59:52 +0000 |
commit | 16abcd90aefae8bdb9f7d80a555982dba6ca59b5 (patch) | |
tree | b7e23fd3c844849d188813323076c93105a57d4d /coreutils | |
parent | 334fa9bcb50df9a03288be252096750dcec14404 (diff) | |
download | busybox-16abcd90aefae8bdb9f7d80a555982dba6ca59b5.tar.gz |
teach find_root_device to deal with /dev/ subdirs
(by "Kirill K. Smirnov" <lich@math.spbu.ru>)
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/ls.c | 8 | ||||
-rw-r--r-- | coreutils/rm.c | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c index 7bbb19d6c..b9c07adf8 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 61e3e7010..e29073db8 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; |