aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-01-26 15:15:43 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-01-26 15:15:43 +0100
commit01f7b9e182e257c12f7a7dec76c6b4168605ecd2 (patch)
treecdf2c50ca857277191a0ca174789c3e1ed897687
parente50396298118b1076511f86af373434292102960 (diff)
downloadbusybox-01f7b9e182e257c12f7a7dec76c6b4168605ecd2.tar.gz
ash: introduce a config option to search current directory for sourced files
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--shell/ash.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 865159d20..d2c937283 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -51,6 +51,13 @@
//config: default y
//config: depends on ASH || SH_IS_ASH || BASH_IS_ASH
//config:
+//config:config ASH_BASH_SOURCE_CURDIR
+//config: bool "'source' and '.' builtins search current directory after $PATH"
+//config: default n # do not encourage non-standard behavior
+//config: depends ASH_BASH_COMPAT
+//config: help
+//config: This is not compliant with standards. Avoid if possible.
+//config:
//config:config ASH_BASH_NOT_FOUND_HOOK
//config: bool "command_not_found_handle hook support"
//config: default y
@@ -12978,10 +12985,14 @@ find_dot_file(char *name)
if (fullname != name)
stunalloc(fullname);
}
+ /* not found in PATH */
- /* not found in the PATH */
+#if ENABLE_ASH_BASH_SOURCE_CURDIR
+ return name;
+#else
ash_msg_and_raise_error("%s: not found", name);
/* NOTREACHED */
+#endif
}
static int FAST_FUNC