Lines Matching refs:cmdp
233 struct tblentry *cmdp; in hashcmd() local
251 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in hashcmd()
252 if (cmdp->cmdtype == CMDNORMAL) in hashcmd()
253 printentry(cmdp, verbose); in hashcmd()
259 if ((cmdp = cmdlookup(name, 0)) != NULL in hashcmd()
260 && cmdp->cmdtype == CMDNORMAL) in hashcmd()
266 cmdp = cmdlookup(name, 0); in hashcmd()
267 if (cmdp != NULL) in hashcmd()
268 printentry(cmdp, verbose); in hashcmd()
282 printentry(struct tblentry *cmdp, int verbose) in printentry() argument
288 if (cmdp->cmdtype == CMDNORMAL) { in printentry()
289 idx = cmdp->param.index; in printentry()
292 name = padvance(&path, &opt, cmdp->cmdname); in printentry()
296 } else if (cmdp->cmdtype == CMDBUILTIN) { in printentry()
297 out1fmt("builtin %s", cmdp->cmdname); in printentry()
298 } else if (cmdp->cmdtype == CMDFUNCTION) { in printentry()
299 out1fmt("function %s", cmdp->cmdname); in printentry()
302 name = commandtext(getfuncnode(cmdp->param.func)); in printentry()
310 error("internal error: cmdtype %d", cmdp->cmdtype); in printentry()
327 struct tblentry *cmdp, loc_cmd; in find_command() local
348 if ((cmdp = cmdlookup(name, 0)) != NULL) { in find_command()
349 if (cmdp->cmdtype == CMDFUNCTION && act & DO_NOFUNC) in find_command()
350 cmdp = NULL; in find_command()
358 cmdp = cmdlookup(name, 1); in find_command()
359 if (cmdp->cmdtype == CMDFUNCTION) in find_command()
360 cmdp = &loc_cmd; in find_command()
361 cmdp->cmdtype = CMDBUILTIN; in find_command()
362 cmdp->param.index = i; in find_command()
363 cmdp->special = spec; in find_command()
394 if ((cmdp = cmdlookup(name, 0)) == NULL || cmdp->cmdtype != CMDFUNCTION) in find_command()
414 cmdp = cmdlookup(name, 1); in find_command()
415 if (cmdp->cmdtype == CMDFUNCTION) in find_command()
416 cmdp = &loc_cmd; in find_command()
417 cmdp->cmdtype = CMDNORMAL; in find_command()
418 cmdp->param.index = idx; in find_command()
419 cmdp->special = 0; in find_command()
438 entry->cmdtype = cmdp->cmdtype; in find_command()
439 entry->u = cmdp->param; in find_command()
440 entry->special = cmdp->special; in find_command()
503 struct tblentry *cmdp; in clearcmdentry() local
508 while ((cmdp = *pp) != NULL) { in clearcmdentry()
509 if (cmdp->cmdtype == CMDNORMAL) { in clearcmdentry()
510 *pp = cmdp->next; in clearcmdentry()
511 ckfree(cmdp); in clearcmdentry()
513 pp = &cmdp->next; in clearcmdentry()
538 struct tblentry *cmdp; in cmdlookup() local
547 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in cmdlookup()
548 if (equal(cmdp->cmdname, name)) in cmdlookup()
550 pp = &cmdp->next; in cmdlookup()
552 if (add && cmdp == NULL) { in cmdlookup()
555 cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); in cmdlookup()
556 cmdp->next = NULL; in cmdlookup()
557 cmdp->cmdtype = CMDUNKNOWN; in cmdlookup()
558 memcpy(cmdp->cmdname, name, len + 1); in cmdlookup()
562 return cmdp; in cmdlookup()
572 struct tblentry *cmdp; in delete_cmd_entry() local
575 cmdp = *lastcmdentry; in delete_cmd_entry()
576 *lastcmdentry = cmdp->next; in delete_cmd_entry()
577 ckfree(cmdp); in delete_cmd_entry()
591 struct tblentry *cmdp; in addcmdentry() local
594 cmdp = cmdlookup(name, 1); in addcmdentry()
595 if (cmdp->cmdtype == CMDFUNCTION) { in addcmdentry()
596 unreffunc(cmdp->param.func); in addcmdentry()
598 cmdp->cmdtype = entry->cmdtype; in addcmdentry()
599 cmdp->param = entry->u; in addcmdentry()
600 cmdp->special = entry->special; in addcmdentry()
631 struct tblentry *cmdp; in unsetfunc() local
633 if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) { in unsetfunc()
634 unreffunc(cmdp->param.func); in unsetfunc()
648 struct tblentry *cmdp; in isfunc() local
649 cmdp = cmdlookup(name, 0); in isfunc()
650 return (cmdp != NULL && cmdp->cmdtype == CMDFUNCTION); in isfunc()
663 struct tblentry *cmdp; in typecmd_impl() local
699 if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { in typecmd_impl()
700 entry.cmdtype = cmdp->cmdtype; in typecmd_impl()
701 entry.u = cmdp->param; in typecmd_impl()
702 entry.special = cmdp->special; in typecmd_impl()
724 (cmdp && cmd == TYPECMD_TYPE) ? in typecmd_impl()