summaryrefslogtreecommitdiff
path: root/legacy/busybox/0015-ash-introduce-a-config-option-to-search-current-dire.patch
blob: 9fc6f7e6817a7ccfdac908034739892688186273 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
From 13c7e0cc7767b84e183ddbc3400171874478bf06 Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Fri, 26 Jan 2018 15:15:43 +0100
Subject: [PATCH 15/16] ash: introduce a config option to search current
 directory for sourced files

---
 shell/ash.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/shell/ash.c b/shell/ash.c
index d04096a9b..5dd184360 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -132,6 +132,13 @@
 //config:	you to run the specified command or builtin,
 //config:	even when there is a function with the same name.
 //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_COMMAND_NOT_FOUND_HOOK
 //config:	bool "command_not_found_handle hook support"
 //config:	default y
@@ -12919,10 +12926,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
-- 
2.16.2