Vodz last_patch_122, Check $PATH at runtime to fix tab completion

This commit is contained in:
Glenn L McGrath 2004-01-14 09:34:51 +00:00
parent 6a78631164
commit 67285965f3
3 changed files with 18 additions and 3 deletions

View File

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

View File

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

View File

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