Lines Matching refs:shp

65 	register Shell_t *shp = ((Shbltin_t*)extra)->shp;
66 long timeout = 1000*shp->st.tmout;
108 if((fd = shp->cpipe[0])<=0)
144 if(!((r=shp->fdstatus[fd])&IOREAD) || !(r&(IOSEEK|IONOSEEK)))
145 r = sh_iocheckfd(shp,fd);
164 shp->prompt = default_prompt;
165 if(r && (shp->prompt=(char*)sfreserve(sfstderr,r,SF_LOCKR)))
167 memcpy(shp->prompt,name,r);
168 sfwrite(sfstderr,shp->prompt,r-1);
170 shp->timeout = 0;
171 save_prompt = shp->nextprompt;
172 shp->nextprompt = 0;
173 r=sh_readline(shp,argv,fd,flags,timeout);
174 shp->nextprompt = save_prompt;
175 if(r==0 && (r=(sfeof(shp->sftable[fd])||sferror(shp->sftable[fd]))))
177 if(fd == shp->cpipe[0])
179 sh_pclose(shp->cpipe);
183 sfclrerr(shp->sftable[fd]);
204 int sh_readline(register Shell_t *shp,char **names, int fd, int flags,long timeout)
227 if(!(iop=shp->sftable[fd]) && !(iop=sh_iostream(shp,fd)))
235 np = nv_open(name,shp->var_tree,NV_NOASSIGN|NV_VARNAME);
238 if((flags&V_FLAG) && shp->ed_context)
239 ((struct edit*)shp->ed_context)->e_default = np;
261 if(dtvnext(shp->var_tree) || shp->namespace)
262 np = nv_open(nv_name(REPLYNOD),shp->var_tree,0);
272 if(shp->fdstatus[fd]&IOTTY)
280 ifs = nv_getval(mp=sh_scoped(shp,IFSNOD));
281 if((flags&R_FLAG) && shp->ifstable['\\']==S_ESC)
282 shp->ifstable['\\'] = 0;
283 else if(!(flags&R_FLAG) && shp->ifstable['\\']==0)
284 shp->ifstable['\\'] = S_ESC;
285 shp->ifstable[delim] = S_NL;
288 shp->ifstable['\n'] = 0;
291 shp->ifstable[0] = S_EOF;
310 if(timeout || (shp->fdstatus[fd]&(IOTTY|IONOSEEK)))
453 if((flags&S_FLAG) && !shp->hist_ptr)
455 sh_histinit((void*)shp);
456 if(!shp->hist_ptr)
469 sfwrite(shp->hist_ptr->histfp,(char*)cp,c);
470 c = shp->ifstable[*cp++];
476 c = shp->ifstable[*cp++];
482 while((c=shp->ifstable[*--cpmax])==S_DELIM || c==S_SPACE);
500 shp->nextprompt = 2;
528 if((c = shp->ifstable[*cp++]) == S_NL)
555 c = shp->ifstable[*cp++];
570 sfwrite(shp->hist_ptr->histfp,(char*)cp,c);
572 c = shp->ifstable[*cp++];
584 while((c=shp->ifstable[*cp++])==S_SPACE);
610 while((c=shp->ifstable[*cp++])==S_SPACE);
625 while((c=shp->ifstable[*cp++])==0)
654 while(shp->ifstable[*--vp]==S_SPACE);
660 while(shp->ifstable[*--vp]==S_SPACE);
695 np = nv_open(name,shp->var_tree,NV_NOASSIGN|NV_VARNAME);
714 if(timeout || (shp->fdstatus[fd]&(IOTTY|IONOSEEK)))
721 if((flags>>D_FLAG) && (shp->fdstatus[fd]&IOTTY))
724 hist_flush(shp->hist_ptr);
726 siglongjmp(*shp->jmplist,jmpval);