Lines Matching refs:shp

66 	logdata.sh = ((Shbltin_t*)extra)->shp;
102 register Shell_t *shp;
105 shp = ((Shbltin_t*)extra)->shp;
109 shp = logp->sh;
111 pp = (struct checkpt*)shp->jmplist;
116 register struct argnod *arg=shp->envlist;
119 if(shp->subshell && !shp->subshare)
124 env_close(shp->env);
125 shp->env = env_open((char**)0,3);
127 nv_scan(shp->var_tree,noexport,0,NV_EXPORT,NV_EXPORT);
133 (*cp=0,np=nv_search(arg->argval,shp->var_tree,0)))
136 sh_envput(shp->env,np);
146 if(job_close(shp) < 0)
152 sh_freeup(shp);
154 sh_done(shp,0);
185 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
204 return(shp->exitval);
212 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
213 struct sh_scoped savst, *prevscope = shp->st.self;
233 if(shp->dot_depth+1 > DOTMAX)
235 if(!(np=shp->posix_fun))
238 np = nv_search(script,shp->fun_tree,0);
259 filename = path_fullname(stkptr(shp->stk,PATH_OFFSET));
262 *prevscope = shp->st;
263 shp->st.lineno = np?((struct functnod*)nv_funtree(np))->functline:1;
264 shp->st.var_local = shp->st.save_tree = shp->var_tree;
267 shp->st.filename = filename;
268 shp->st.lineno = 1;
270 level = shp->fn_depth+shp->dot_depth+1;
272 shp->st.prevst = prevscope;
273 shp->st.self = &savst;
274 shp->topscope = (Shscope_t*)shp->st.self;
275 prevscope->save_tree = shp->var_tree;
276 shp->st.cmdname = argv[0];
278 shp->st.filename = np->nvalue.rp->fname;
279 nv_putval(SH_PATHNAMENOD, shp->st.filename ,NV_NOFREE);
280 shp->posix_fun = 0;
282 argsave = sh_argnew(shp,argv,&saveargfor);
287 shp->dot_depth++;
299 free((void*)shp->st.filename);
300 shp->dot_depth--;
302 sh_argreset(shp,argsave,saveargfor);
305 prevscope->dolc = shp->st.dolc;
306 prevscope->dolv = shp->st.dolv;
308 if (shp->st.self != &savst)
309 *shp->st.self = shp->st;
311 memcpy((void*)&shp->st, (void*)prevscope, sizeof(Shscope_t));
312 shp->topscope = (Shscope_t*)prevscope;
313 nv_putval(SH_PATHNAMENOD, shp->st.filename ,NV_NOFREE);
314 if(shp->exitval > SH_EXITSIG)
315 sh_fault(shp->exitval&SH_EXITMASK);
317 siglongjmp(*shp->jmplist,jmpval);
318 return(shp->exitval);
346 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
360 if(n<0 || shp->st.dolc<n)
364 shp->st.dolv += n;
365 shp->st.dolc -= n;
372 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
386 return(shp->exitval);
398 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
426 return(shp->exitval);
432 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
459 return(shp->exitval);
512 register Shell_t *shp = ((Shbltin_t*)extra)->shp;
534 if(!shp->lim.fs3d)
545 vend = stkalloc(shp->stk,++n);
573 if(!shp->lim.fs3d)
575 if(shp->subshell && !shp->subshare)