Lines Matching refs:cmdp
255 struct tblentry *cmdp; in hashcmd() local
273 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in hashcmd()
274 if (cmdp->cmdtype == CMDNORMAL) in hashcmd()
275 printentry(cmdp, verbose); in hashcmd()
281 if ((cmdp = cmdlookup(name, 0)) != NULL in hashcmd()
282 && cmdp->cmdtype == CMDNORMAL) in hashcmd()
288 cmdp = cmdlookup(name, 0); in hashcmd()
289 if (cmdp != NULL) in hashcmd()
290 printentry(cmdp, verbose); in hashcmd()
304 printentry(struct tblentry *cmdp, int verbose) in printentry() argument
310 if (cmdp->cmdtype == CMDNORMAL) { in printentry()
311 idx = cmdp->param.index; in printentry()
314 name = padvance(&path, &opt, cmdp->cmdname); in printentry()
318 } else if (cmdp->cmdtype == CMDBUILTIN) { in printentry()
319 out1fmt("builtin %s", cmdp->cmdname); in printentry()
320 } else if (cmdp->cmdtype == CMDFUNCTION) { in printentry()
321 out1fmt("function %s", cmdp->cmdname); in printentry()
324 name = commandtext(getfuncnode(cmdp->param.func)); in printentry()
332 error("internal error: cmdtype %d", cmdp->cmdtype); in printentry()
349 struct tblentry *cmdp, loc_cmd; in find_command() local
370 if ((cmdp = cmdlookup(name, 0)) != NULL) { in find_command()
371 if (cmdp->cmdtype == CMDFUNCTION && act & DO_NOFUNC) in find_command()
372 cmdp = NULL; in find_command()
380 cmdp = cmdlookup(name, 1); in find_command()
381 if (cmdp->cmdtype == CMDFUNCTION) in find_command()
382 cmdp = &loc_cmd; in find_command()
383 cmdp->cmdtype = CMDBUILTIN; in find_command()
384 cmdp->param.index = i; in find_command()
385 cmdp->special = spec; in find_command()
416 if ((cmdp = cmdlookup(name, 0)) == NULL || cmdp->cmdtype != CMDFUNCTION) in find_command()
436 cmdp = cmdlookup(name, 1); in find_command()
437 if (cmdp->cmdtype == CMDFUNCTION) in find_command()
438 cmdp = &loc_cmd; in find_command()
439 cmdp->cmdtype = CMDNORMAL; in find_command()
440 cmdp->param.index = idx; in find_command()
441 cmdp->special = 0; in find_command()
460 entry->cmdtype = cmdp->cmdtype; in find_command()
461 entry->u = cmdp->param; in find_command()
462 entry->special = cmdp->special; in find_command()
525 struct tblentry *cmdp; in clearcmdentry() local
530 while ((cmdp = *pp) != NULL) { in clearcmdentry()
531 if (cmdp->cmdtype == CMDNORMAL) { in clearcmdentry()
532 *pp = cmdp->next; in clearcmdentry()
533 ckfree(cmdp); in clearcmdentry()
535 pp = &cmdp->next; in clearcmdentry()
571 struct tblentry *cmdp; in cmdlookup() local
576 for (cmdp = *pp ; cmdp ; cmdp = cmdp->next) { in cmdlookup()
577 if (equal(cmdp->cmdname, name)) in cmdlookup()
579 pp = &cmdp->next; in cmdlookup()
581 if (add && cmdp == NULL) { in cmdlookup()
584 cmdp = *pp = ckmalloc(sizeof (struct tblentry) + len + 1); in cmdlookup()
585 cmdp->next = NULL; in cmdlookup()
586 cmdp->cmdtype = CMDUNKNOWN; in cmdlookup()
587 memcpy(cmdp->cmdname, name, len + 1); in cmdlookup()
591 return cmdp; in cmdlookup()
626 struct tblentry *cmdp; in delete_cmd_entry() local
629 cmdp = *lastcmdentry; in delete_cmd_entry()
630 *lastcmdentry = cmdp->next; in delete_cmd_entry()
631 ckfree(cmdp); in delete_cmd_entry()
645 struct tblentry *cmdp; in addcmdentry() local
648 cmdp = cmdlookup(name, 1); in addcmdentry()
649 if (cmdp->cmdtype == CMDFUNCTION) { in addcmdentry()
650 unreffunc(cmdp->param.func); in addcmdentry()
652 cmdp->cmdtype = entry->cmdtype; in addcmdentry()
653 cmdp->param = entry->u; in addcmdentry()
654 cmdp->special = entry->special; in addcmdentry()
685 struct tblentry *cmdp; in unsetfunc() local
687 if ((cmdp = cmdlookup(name, 0)) != NULL && cmdp->cmdtype == CMDFUNCTION) { in unsetfunc()
688 unreffunc(cmdp->param.func); in unsetfunc()
702 struct tblentry *cmdp; in isfunc() local
703 cmdp = cmdlookup(name, 0); in isfunc()
704 return (cmdp != NULL && cmdp->cmdtype == CMDFUNCTION); in isfunc()
732 struct tblentry *cmdp; in typecmd_impl() local
768 if ((cmdp = cmdlookup(argv[i], 0)) != NULL) { in typecmd_impl()
769 entry.cmdtype = cmdp->cmdtype; in typecmd_impl()
770 entry.u = cmdp->param; in typecmd_impl()
771 entry.special = cmdp->special; in typecmd_impl()
791 (cmdp && cmd == TYPECMD_TYPE) ? in typecmd_impl()