Lines Matching refs:cmdp

227 	struct tblentry *cmdp;  in hashiter()  local
230 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in hashiter()
231 entry.cmdtype = cmdp->cmdtype; in hashiter()
232 entry.u = cmdp->param; in hashiter()
242 struct tblentry *cmdp; in hashcmd() local
253 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in hashcmd()
254 if (cmdp->cmdtype == CMDNORMAL) in hashcmd()
255 printentry(cmdp); in hashcmd()
262 if ((cmdp = cmdlookup(name, 0)) != NULL in hashcmd()
263 && (cmdp->cmdtype == CMDNORMAL in hashcmd()
264 || (cmdp->cmdtype == CMDBUILTIN && builtinloc >= 0))) in hashcmd()
276 printentry(struct tblentry *cmdp) in printentry() argument
282 idx = cmdp->param.index; in printentry()
285 name = padvance(&path, cmdp->cmdname); in printentry()
289 out1fmt(snlfmt, cmdp->rehash ? "*" : nullstr); in printentry()
302 struct tblentry *cmdp; in find_command() local
336 if ((cmdp = cmdlookup(name, 0)) != NULL) { in find_command()
339 switch (cmdp->cmdtype) { in find_command()
356 cmdp = NULL; in find_command()
357 } else if (cmdp->rehash == 0) in find_command()
372 if (cmdp && cmdp->rehash) { /* doing a rehash */ in find_command()
373 if (cmdp->cmdtype == CMDBUILTIN) in find_command()
376 prev = cmdp->param.index; in find_command()
420 if ((cmdp = cmdlookup(name, 0)) == NULL || in find_command()
421 cmdp->cmdtype != CMDFUNCTION) in find_command()
448 cmdp = cmdlookup(name, 1); in find_command()
449 cmdp->cmdtype = CMDNORMAL; in find_command()
450 cmdp->param.index = idx; in find_command()
459 if (cmdp && updatetbl) in find_command()
473 cmdp = cmdlookup(name, 1); in find_command()
474 cmdp->cmdtype = CMDBUILTIN; in find_command()
475 cmdp->param.cmd = bcmd; in find_command()
478 cmdp->rehash = 0; in find_command()
479 entry->cmdtype = cmdp->cmdtype; in find_command()
480 entry->u = cmdp->param; in find_command()
511 struct tblentry *cmdp; in hashcd() local
514 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in hashcd()
515 if (cmdp->cmdtype == CMDNORMAL || ( in hashcd()
516 cmdp->cmdtype == CMDBUILTIN && in hashcd()
517 !(cmdp->param.cmd->flags & BUILTIN_REGULAR) && in hashcd()
520 cmdp->rehash = 1; in hashcd()
583 struct tblentry *cmdp; in clearcmdentry() local
588 while ((cmdp = *pp) != NULL) { in clearcmdentry()
589 if ((cmdp->cmdtype == CMDNORMAL && in clearcmdentry()
590 cmdp->param.index >= firstchange) in clearcmdentry()
591 || (cmdp->cmdtype == CMDBUILTIN && in clearcmdentry()
593 *pp = cmdp->next; in clearcmdentry()
594 ckfree(cmdp); in clearcmdentry()
596 pp = &cmdp->next; in clearcmdentry()
623 struct tblentry *cmdp; in cmdlookup() local
632 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in cmdlookup()
633 if (equal(cmdp->cmdname, name)) in cmdlookup()
635 pp = &cmdp->next; in cmdlookup()
637 if (add && cmdp == NULL) { in cmdlookup()
638 cmdp = *pp = ckmalloc(sizeof (struct tblentry) - ARB in cmdlookup()
640 cmdp->next = NULL; in cmdlookup()
641 cmdp->cmdtype = CMDUNKNOWN; in cmdlookup()
642 strcpy(cmdp->cmdname, name); in cmdlookup()
645 return cmdp; in cmdlookup()
655 struct tblentry *cmdp; in delete_cmd_entry() local
658 cmdp = *lastcmdentry; in delete_cmd_entry()
659 *lastcmdentry = cmdp->next; in delete_cmd_entry()
660 if (cmdp->cmdtype == CMDFUNCTION) in delete_cmd_entry()
661 freefunc(cmdp->param.func); in delete_cmd_entry()
662 ckfree(cmdp); in delete_cmd_entry()
672 struct tblentry *cmdp = cmdlookup(name, 0); in getcmdentry() local
674 if (cmdp) { in getcmdentry()
675 entry->u = cmdp->param; in getcmdentry()
676 entry->cmdtype = cmdp->cmdtype; in getcmdentry()
693 struct tblentry *cmdp; in addcmdentry() local
695 cmdp = cmdlookup(name, 1); in addcmdentry()
696 if (cmdp->cmdtype == CMDFUNCTION) { in addcmdentry()
697 freefunc(cmdp->param.func); in addcmdentry()
699 cmdp->cmdtype = entry->cmdtype; in addcmdentry()
700 cmdp->param = entry->u; in addcmdentry()
701 cmdp->rehash = 0; in addcmdentry()
729 struct tblentry *cmdp; in unsetfunc() local
731 if ((cmdp = cmdlookup(name, 0)) != NULL && in unsetfunc()
732 cmdp->cmdtype == CMDFUNCTION) in unsetfunc()
760 struct tblentry *cmdp; local
788 if ((cmdp = cmdlookup(command, 0)) != NULL) {
789 entry.cmdtype = cmdp->cmdtype;
790 entry.u = cmdp->param;
811 cmdp ? " a tracked alias for" : nullstr, p