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 <[email protected]> --- libbb/lineedit.c | 3 +++ 1 file changed, 3 insertions(+) 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'; -- 2.29.2 _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
