[git commit] ash: introduce a config option to search current directory for sourced files

Denys Vlasenko vda.linux at googlemail.com
Fri Jan 26 14:15:43 UTC 2018


commit: https://git.busybox.net/busybox/commit/?id=01f7b9e182e257c12f7a7dec76c6b4168605ecd2
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 shell/ash.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/shell/ash.c b/shell/ash.c
index 865159d..d2c9372 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


More information about the busybox-cvs mailing list