mirror of
https://git.busybox.net/busybox.git
synced 2024-12-16 00:43:23 +08:00
Vodz last_patch_122, Check $PATH at runtime to fix tab completion
This commit is contained in:
parent
6a78631164
commit
67285965f3
@ -4117,6 +4117,9 @@ changepath(const char *newval)
|
||||
firstchange = 0;
|
||||
clearcmdentry(firstchange);
|
||||
builtinloc = idx_bltin;
|
||||
#ifdef CONFIG_FEATURE_COMMAND_EDITING
|
||||
cmdedit_path_lookup = newval;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
@ -43,6 +43,8 @@
|
||||
|
||||
#include "busybox.h"
|
||||
|
||||
#include "../shell/cmdedit.h"
|
||||
|
||||
#ifdef CONFIG_LOCALE_SUPPORT
|
||||
#define Isprint(c) isprint((c))
|
||||
#else
|
||||
@ -609,14 +611,20 @@ enum {
|
||||
FIND_FILE_ONLY = 2,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_ASH
|
||||
const char *cmdedit_path_lookup;
|
||||
#else
|
||||
#define cmdedit_path_lookup getenv("PATH")
|
||||
#endif
|
||||
|
||||
static int path_parse(char ***p, int flags)
|
||||
{
|
||||
int npth;
|
||||
char *tmp;
|
||||
char *pth;
|
||||
const char *tmp;
|
||||
const char *pth;
|
||||
|
||||
/* if not setenv PATH variable, to search cur dir "." */
|
||||
if (flags != FIND_EXE_ONLY || (pth = getenv("PATH")) == 0 ||
|
||||
if (flags != FIND_EXE_ONLY || (pth = cmdedit_path_lookup) == 0 ||
|
||||
/* PATH=<empty> or PATH=:<empty> */
|
||||
*pth == 0 || (*pth == ':' && *(pth + 1) == 0)) {
|
||||
return 1;
|
||||
|
@ -3,6 +3,10 @@
|
||||
|
||||
int cmdedit_read_input(char* promptStr, char* command);
|
||||
|
||||
#ifdef CONFIG_ASH
|
||||
extern const char *cmdedit_path_lookup;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FEATURE_COMMAND_SAVEHISTORY
|
||||
void load_history ( const char *fromfile );
|
||||
void save_history ( const char *tofile );
|
||||
|
Loading…
Reference in New Issue
Block a user