Displaying 2 results from an estimated 2 matches for "do_altbltin".
2020 Mar 28
0
[klibc:update-dash] dash: eval: Add assignment built-in support again
...a/usr/dash/exec.c
+++ b/usr/dash/exec.c
@@ -357,11 +357,8 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path)
}
updatetbl = (path == pathval());
- if (!updatetbl) {
+ if (!updatetbl)
act |= DO_ALTPATH;
- if (strstr(path, "%builtin") != NULL)
- act |= DO_ALTBLTIN;
- }
/* If name is in the table, check answer will be ok */
if ((cmdp = cmdlookup(name, 0)) != NULL) {
@@ -373,17 +370,20 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path)
abort();
#endif
case CMDNORMAL:
- bit = DO_ALTPATH;
+ bit = DO_ALTPATH | DO_REGB...
2020 Mar 28
0
[klibc:update-dash] dash: exec: Never rehash regular built-ins
...builtinloc > 0)))
delete_cmd_entry();
find_command(name, &entry, DO_ERR, pathval());
if (entry.cmdtype == CMDUNKNOWN)
@@ -377,7 +379,8 @@ find_command(char *name, struct cmdentry *entry, int act, const char *path)
bit = DO_NOFUNC;
break;
case CMDBUILTIN:
- bit = DO_ALTBLTIN;
+ bit = cmdp->param.cmd->flags & BUILTIN_REGULAR ?
+ 0 : DO_ALTBLTIN;
break;
}
if (act & bit) {
@@ -601,7 +604,9 @@ clearcmdentry(void)
pp = tblp;
while ((cmdp = *pp) != NULL) {
if (cmdp->cmdtype == CMDNORMAL ||
- (cmdp->cmdtype == CMDBUILTIN...