Lines Matching refs:cmdp

228 	struct tblentry *cmdp;  in hashcmd()  local
246 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in hashcmd()
247 if (cmdp->cmdtype == CMDNORMAL) in hashcmd()
248 printentry(cmdp, verbose); in hashcmd()
254 if ((cmdp = cmdlookup(name, 0)) != NULL in hashcmd()
255 && cmdp->cmdtype == CMDNORMAL) in hashcmd()
261 cmdp = cmdlookup(name, 0); in hashcmd()
262 if (cmdp != NULL) in hashcmd()
263 printentry(cmdp, verbose); in hashcmd()
277 printentry(struct tblentry *cmdp, int verbose) in printentry() argument
283 if (cmdp->cmdtype == CMDNORMAL) { in printentry()
284 idx = cmdp->param.index; in printentry()
287 name = padvance(&path, cmdp->cmdname); in printentry()
291 } else if (cmdp->cmdtype == CMDBUILTIN) { in printentry()
292 out1fmt("builtin %s", cmdp->cmdname); in printentry()
293 } else if (cmdp->cmdtype == CMDFUNCTION) { in printentry()
294 out1fmt("function %s", cmdp->cmdname); in printentry()
297 name = commandtext(getfuncnode(cmdp->param.func)); in printentry()
305 error("internal error: cmdtype %d", cmdp->cmdtype); in printentry()
322 struct tblentry *cmdp, loc_cmd; in find_command() local
341 if ((cmdp = cmdlookup(name, 0)) != NULL) { in find_command()
342 if (cmdp->cmdtype == CMDFUNCTION && act & DO_NOFUNC) in find_command()
343 cmdp = NULL; in find_command()
351 cmdp = cmdlookup(name, 1); in find_command()
352 if (cmdp->cmdtype == CMDFUNCTION) in find_command()
353 cmdp = &loc_cmd; in find_command()
354 cmdp->cmdtype = CMDBUILTIN; in find_command()
355 cmdp->param.index = i; in find_command()
356 cmdp->special = spec; in find_command()
389 if ((cmdp = cmdlookup(name, 0)) == NULL || cmdp->cmdtype != CMDFUNCTION) in find_command()
408 cmdp = cmdlookup(name, 1); in find_command()
409 if (cmdp->cmdtype == CMDFUNCTION) in find_command()
410 cmdp = &loc_cmd; in find_command()
411 cmdp->cmdtype = CMDNORMAL; in find_command()
412 cmdp->param.index = idx; in find_command()
430 entry->cmdtype = cmdp->cmdtype; in find_command()
431 entry->u = cmdp->param; in find_command()
432 entry->special = cmdp->special; in find_command()
494 struct tblentry *cmdp; in clearcmdentry() local
499 while ((cmdp = *pp) != NULL) { in clearcmdentry()
500 if (cmdp->cmdtype == CMDNORMAL) { in clearcmdentry()
501 *pp = cmdp->next; in clearcmdentry()
502 ckfree(cmdp); in clearcmdentry()
504 pp = &cmdp->next; in clearcmdentry()
529 struct tblentry *cmdp; in cmdlookup() local
538 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in cmdlookup()
539 if (equal(cmdp->cmdname, name)) in cmdlookup()
541 pp = &cmdp->next; in cmdlookup()
543 if (add && cmdp == NULL) { in cmdlookup()
546 cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); in cmdlookup()
547 cmdp->next = NULL; in cmdlookup()
548 cmdp->cmdtype = CMDUNKNOWN; in cmdlookup()
549 memcpy(cmdp->cmdname, name, len + 1); in cmdlookup()
553 return cmdp; in cmdlookup()
563 struct tblentry *cmdp; in delete_cmd_entry() local
566 cmdp = *lastcmdentry; in delete_cmd_entry()
567 *lastcmdentry = cmdp->next; in delete_cmd_entry()
568 ckfree(cmdp); in delete_cmd_entry()
582 struct tblentry *cmdp; in addcmdentry() local
585 cmdp = cmdlookup(name, 1); in addcmdentry()
586 if (cmdp->cmdtype == CMDFUNCTION) { in addcmdentry()
587 unreffunc(cmdp->param.func); in addcmdentry()
589 cmdp->cmdtype = entry->cmdtype; in addcmdentry()
590 cmdp->param = entry->u; in addcmdentry()
620 struct tblentry *cmdp; in unsetfunc() local
622 if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) { in unsetfunc()
623 unreffunc(cmdp->param.func); in unsetfunc()
637 struct tblentry *cmdp; in isfunc() local
638 cmdp = cmdlookup(name, 0); in isfunc()
639 return (cmdp != NULL && cmdp->cmdtype == CMDFUNCTION); in isfunc()
652 struct tblentry *cmdp; in typecmd_impl() local
688 if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { in typecmd_impl()
689 entry.cmdtype = cmdp->cmdtype; in typecmd_impl()
690 entry.u = cmdp->param; in typecmd_impl()
691 entry.special = cmdp->special; in typecmd_impl()
712 (cmdp && cmd == TYPECMD_TYPE) ? in typecmd_impl()