[git commit] lineedit: remove ->path_lookup if ash is not configured

Denys Vlasenko vda.linux at googlemail.com
Wed Dec 16 09:01:21 UTC 2020


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

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 include/libbb.h  | 16 +++++++++++-----
 libbb/lineedit.c |  2 ++
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/include/libbb.h b/include/libbb.h
index 202e3f39c..6b7141456 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -1863,14 +1863,20 @@ typedef const char *get_exe_name_t(int i) FAST_FUNC;
 typedef struct line_input_t {
 	int flags;
 	int timeout;
+# if ENABLE_FEATURE_TAB_COMPLETION
+#  if ENABLE_SHELL_ASH
 	const char *path_lookup;
-# if ENABLE_FEATURE_TAB_COMPLETION \
-&& (ENABLE_ASH  || ENABLE_SH_IS_ASH  || ENABLE_BASH_IS_ASH \
-||  ENABLE_HUSH || ENABLE_SH_IS_HUSH || ENABLE_BASH_IS_HUSH \
-)
+#   define EDITING_HAS_path_lookup 1
+#  else
+#   define EDITING_HAS_path_lookup 0
+#  endif
+#  if ENABLE_SHELL_ASH || ENABLE_SHELL_HUSH
 	/* function to fetch additional application-specific names to match */
 	get_exe_name_t *get_exe_name;
-#  define EDITING_HAS_get_exe_name 1
+#   define EDITING_HAS_get_exe_name 1
+#  else
+#   define EDITING_HAS_get_exe_name 0
+#  endif
 # endif
 # if MAX_HISTORY
 	int cnt_history;
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index 5eb701f00..1a3f29656 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -743,9 +743,11 @@ static int path_parse(char ***p)
 	char *tmp;
 	char **res;
 
+#if EDITING_HAS_path_lookup
 	if (state->flags & WITH_PATH_LOOKUP)
 		pth = state->path_lookup;
 	else
+#endif
 		pth = getenv("PATH");
 
 	/* PATH="" or PATH=":"? */


More information about the busybox-cvs mailing list