Displaying 2 results from an estimated 2 matches for "tblp".
Did you mean:
tbl
2020 Mar 28
0
[klibc:update-dash] dash: exec: Stricter pathopt parsing
...s */
- if (builtinloc >= 0 && bltin < 0)
- firstchange = 0;
- clearcmdentry(firstchange);
builtinloc = bltin;
+ clearcmdentry();
}
@@ -557,7 +590,7 @@ changepath(const char *newval)
*/
STATIC void
-clearcmdentry(int firstchange)
+clearcmdentry(void)
{
struct tblentry **tblp;
struct tblentry **pp;
@@ -567,10 +600,8 @@ clearcmdentry(int firstchange)
for (tblp = cmdtable ; tblp < &cmdtable[CMDTABLESIZE] ; tblp++) {
pp = tblp;
while ((cmdp = *pp) != NULL) {
- if ((cmdp->cmdtype == CMDNORMAL &&
- cmdp->param.index >= firstchange)...
2020 Mar 28
0
[klibc:update-dash] dash: exec: Never rehash regular built-ins
...ct 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 && builtinloc > 0)) {
+ (cmdp->cmdtype == CMDBUILTIN &&
+ !(cmdp->param.cmd->flags & BUILTIN_REGULAR) &&
+ builtinloc >...