← Commit list

67285965f

Glenn L McGrath
Glenn L McGrath
2004-01-14
FAILED Duration: 68s

Subject

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

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

shell/ash.c+3 -0
@@ -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
}
shell/cmdedit.c+11 -3
@@ -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;
shell/cmdedit.h+4 -0
@@ -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 );