Lines Matching refs:shp

233 	Shell_t *shp = &sh;  in path_pwd()  local
234 if(shp->pwd) in path_pwd()
235 return((char*)shp->pwd); in path_pwd()
279 shp->pwd = (char*)(PWDNOD->nvalue.cp); in path_pwd()
405 first = (pp->flags&PATH_CDPATH)?pp->shp->cdpathlist:path_get(""); in path_checkdup()
440 ppnext->shp = pp->shp; in path_nextcomp()
473 static Pathcomp_t* defpath_init(Shell_t *shp) in defpath_init() argument
476 if(shp->defpathlist = (void*)pp) in defpath_init()
477 pp->shp = shp; in defpath_init()
481 static void path_init(Shell_t *shp) in path_init() argument
487 if(val=sh_scoped(shp,(PATHNOD))->nvalue.cp) in path_init()
489 pp = (void*)path_addpath((Pathcomp_t*)shp->pathlist,val,PATH_PATH); in path_init()
490 if(shp->pathlist = (void*)pp) in path_init()
491 pp->shp = shp; in path_init()
495 if(!(pp=(Pathcomp_t*)shp->defpathlist)) in path_init()
496 pp = defpath_init(shp); in path_init()
497 shp->pathlist = (void*)path_dup(pp); in path_init()
499 if(val=sh_scoped(shp,(FPATHNOD))->nvalue.cp) in path_init()
501 pp = (void*)path_addpath((Pathcomp_t*)shp->pathlist,val,PATH_FPATH); in path_init()
502 if(shp->pathlist = (void*)pp) in path_init()
503 pp->shp = shp; in path_init()
512 register Shell_t *shp = &sh; in path_get() local
518 if(!shp->pathlist) in path_get()
519 path_init(shp); in path_get()
520 pp = (Pathcomp_t*)shp->pathlist; in path_get()
524 if(!(pp=(Pathcomp_t*)shp->defpathlist)) in path_get()
525 pp = defpath_init(shp); in path_get()
538 Shell_t *shp; in path_opentype() local
540 shp = pp->shp; in path_opentype()
543 shp = sh_getinterp(); in path_opentype()
544 if(!shp->pathlist) in path_opentype()
545 path_init(shp); in path_opentype()
573 if(!shp) in path_opentype()
575 shp = sh_getinterp(); in path_opentype()
580 shp->fdstatus[fd] |= IOCLEX; in path_opentype()
629 static void funload(Shell_t *shp,int fno, const char *name) in funload() argument
631 char *pname,*oldname=shp->st.filename, buff[IOBSIZE+1]; in funload()
634 int savestates = sh_getstate(), oldload=shp->funload; in funload()
636 if(shp->fpathdict && (rp = dtmatch(shp->fpathdict,(void*)pname))) in funload()
650 while((rp=dtnext(shp->fpathdict,rp)) && strcmp(pname,rp->fname)==0); in funload()
655 shp->readscript = (char*)name; in funload()
656 shp->st.filename = pname; in funload()
657 shp->funload = 1; in funload()
660 shp->readscript = 0; in funload()
661 free((void*)shp->st.filename); in funload()
662 shp->funload = oldload; in funload()
663 shp->st.filename = oldname; in funload()
682 Shell_t *shp = &sh; in path_search() local
703 if(!shp->defpathlist) in path_search()
704 defpath_init(shp); in path_search()
706 else if(!shp->pathlist) in path_search()
707 path_init(shp); in path_search()
710 …if((np=nv_search(name,shp->track_tree,0)) && !nv_isattr(np,NV_NOALIAS) && (pp=(Pathcomp_t*)np->nva… in path_search()
720 if(!pp && (np=nv_search(name,shp->fun_tree,HASH_NOSCOPE))&&np->nvalue.ip) in path_search()
728 pp=sh_isstate(SH_DEFPATH)?shp->defpathlist:shp->pathlist; in path_search()
736 funload(shp,fno,name); in path_search()
744 if(np=nv_search(name,shp->track_tree,NV_ADD)) in path_search()
758 Shell_t *shp = &sh; in path_absolute() local
760 shp->path_err = ENOENT; in path_absolute()
763 shp->path_err = 0; in path_absolute()
775 shp->path_err = ENOENT; in path_absolute()
843 funload(shp,f,name); in path_absolute()
870 shp->path_err = (noexec?noexec:ENOENT); in path_absolute()
969 Shell_t *shp = &sh; in path_exec() local
982 shp->path_err= ENOENT; in path_exec()
1004 ((struct checkpt*)shp->jmplist)->mode = SH_JMPEXIT; in path_exec()
1005 if((errno=shp->path_err)==ENOENT) in path_exec()
1013 Shell_t *shp = sh_getinterp(); in path_spawn() local
1028 np=nv_search(argv[0],shp->track_tree,0); in path_spawn()
1075 np = nv_open(libenv,shp->var_tree,0); in path_spawn()
1169 ((struct checkpt*)shp->jmplist)->mode = SH_JMPEXIT; in path_spawn()
1174 exscript(shp,path,argv,envp); in path_spawn()
1185 exscript(shp,path,argv,envp); in path_spawn()
1197 shp->path_err = errno; in path_spawn()
1225 static void exscript(Shell_t *shp,register char *path,register char *argv[],char **envp) in exscript() argument
1229 shp->comdiv=0; in exscript()
1230 shp->bckpid = 0; in exscript()
1231 shp->st.ioset=0; in exscript()
1233 if(shp->cpipe[0]>0) in exscript()
1234 sh_pclose(shp->cpipe); in exscript()
1235 if(shp->cpid && shp->outpipe) in exscript()
1236 sh_close(*shp->outpipe); in exscript()
1237 shp->cpid = 0; in exscript()
1241 if(shp->infd>0 && (shp->fdstatus[shp->infd]&IOCLEX)) in exscript()
1242 sh_close(shp->infd); in exscript()
1261 if((euserid=geteuid()) != shp->userid) in exscript()
1291 shp->infd = n; in exscript()
1294 if((shp->infd = sh_open(path,O_RDONLY,0)) < 0) in exscript()
1297 shp->infd = sh_iomovefd(shp->infd); in exscript()
1301 shp->arglist = sh_argcreate(argv); in exscript()
1302 shp->lastarg = strdup(path); in exscript()
1304 shp->readscript = error_info.id; in exscript()
1306 if(shp->hist_ptr && (path=nv_getval(HISTFILE)) && strcmp(path,shp->hist_ptr->histname)) in exscript()
1308 hist_close(shp->hist_ptr); in exscript()
1312 if(shp->sigflag[SIGCHLD]==SH_SIGOFF) in exscript()
1313 shp->sigflag[SIGCHLD] = SH_SIGFAULT; in exscript()
1314 siglongjmp(*shp->jmplist,SH_JMPSCRIPT); in exscript()
1604 Pathcomp_t *pp = (Pathcomp_t*)old->shp->defpathlist; in path_addpath()
1606 pp = defpath_init(old->shp); in path_addpath()
1694 Shell_t *shp = &sh; in path_unsetfpath() local
1695 if(shp->fpathdict) in path_unsetfpath()
1698 for(rp=(struct Ufunction*)dtfirst(shp->fpathdict);rp;rp=rpnext) in path_unsetfpath()
1700 rpnext = (struct Ufunction*)dtnext(shp->fpathdict,rp); in path_unsetfpath()