lineedit: remove ->path_lookup if ash is not configured

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2020-12-16 10:01:21 +01:00
parent 8baa643a34
commit eaced1ec85
2 changed files with 13 additions and 5 deletions

View File

@ -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;

View File

@ -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=":"? */