From 8506dd673030539b2890dd617f885ec20f1e8a7d Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Thu, 10 Dec 2020 14:44:57 +0000 Subject: lineedit: omit directories when tab-completing from PATH Only files should be matched when using PATH for tab-completion. function old new delta complete_cmd_dir_file 883 894 +11 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 11/0) Total: 11 bytes Signed-off-by: Ron Yorston Signed-off-by: Denys Vlasenko --- libbb/lineedit.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'libbb') diff --git a/libbb/lineedit.c b/libbb/lineedit.c index a3b798e3f..d64d7d0c2 100644 --- a/libbb/lineedit.c +++ b/libbb/lineedit.c @@ -871,6 +871,9 @@ static NOINLINE unsigned complete_cmd_dir_file(const char *command, int type) strcpy(found, name_found); if (S_ISDIR(st.st_mode)) { + /* skip directories if searching PATH */ + if (type == FIND_EXE_ONLY && !dirbuf) + goto cont; /* name is a directory, add slash */ found[len] = '/'; found[len + 1] = '\0'; -- cgit v1.2.3