search for: do_altbltin

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...