diff options
author | Denis Vlasenko | 2009-02-15 12:40:30 +0000 |
---|---|---|
committer | Denis Vlasenko | 2009-02-15 12:40:30 +0000 |
commit | 8ad78e1ec7b2e873953f9f476fb63b5893526c39 (patch) | |
tree | 162818ac9d83a06d91714855b0d0f87b8436c238 /shell/ash.c | |
parent | c6ab0850027e65b2ce880da1527690e2a5f93b03 (diff) | |
download | busybox-8ad78e1ec7b2e873953f9f476fb63b5893526c39.zip busybox-8ad78e1ec7b2e873953f9f476fb63b5893526c39.tar.gz |
ash: make dot command search current directory first, as bash does.
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/shell/ash.c b/shell/ash.c index 492ccd7..3abca75 100644 --- a/shell/ash.c +++ b/shell/ash.c @@ -11828,7 +11828,16 @@ find_dot_file(char *name) if (strchr(name, '/')) return name; + /* IIRC standards do not say whether . is to be searched. + * And it is even smaller this way, making it unconditional for now: + */ + if (1) { /* ENABLE_ASH_BASH_COMPAT */ + fullname = name; + goto try_cur_dir; + } + while ((fullname = padvance(&path, name)) != NULL) { + try_cur_dir: if ((stat(fullname, &statb) == 0) && S_ISREG(statb.st_mode)) { /* * Don't bother freeing here, since it will |