Lines Matching refs:np

293 static void free_bltin(Namval_t *np,void *data)
299 if(strcmp(pp->name,"/bin")==0 || memcmp(pp->name,np->nvname,pp->len) || np->nvname[pp->len]!='/')
302 stakputs(np->nvname+pp->len+1);
304 sh_addbuiltin(stakptr(offset),np->nvalue.bfp,NiL);
308 if((void*)np->nvenv==pp->bltin_lib)
309 nv_delete(np,sh_bltin_tree(),NV_NOFREE);
621 Namval_t *np;
630 if((np = dtsearch(funtree,rp->np)) && is_afunction(np))
632 if(np->nvalue.rp)
633 np->nvalue.rp->fdict = 0;
634 nv_delete(np,funtree,NV_NOFREE);
636 dtinsert(funtree,rp->np);
653 np = sh_fsearch(shp,name,0);
655 np = nv_search(name,shp->fun_tree,0);
656 if(!np || !np->nvalue.ip)
680 register Namval_t *np;
710 if(!(flag&1) && (np=nv_search(name,shp->track_tree,0)) && !nv_isattr(np,NV_NOALIAS) && (pp=(Pathcomp_t*)np->nvalue.cp))
722 if(!pp && (np=nv_search(name,shp->fun_tree,0))&&np->nvalue.ip)
746 if(np=nv_search(name,shp->track_tree,NV_ADD))
747 path_alias(np,pp);
760 Namval_t *np;
804 if((np = sh_addbuiltin(stakptr(PATH_OFFSET),addr,NiL)) && nv_isattr(np,NV_BLTINOPT))
835 (!(np = sh_addbuiltin(stakptr(PATH_OFFSET),NiL,NiL)) || np->nvalue.bfp!=addr) &&
836 (np = sh_addbuiltin(stakptr(PATH_OFFSET),addr,NiL)))
838 np->nvenv = oldpp->bltin_lib;
860 np = nv_search(stakptr(n),shp->bltin_tree,0);
862 if(np)
864 n = np->nvflag;
865 np = sh_addbuiltin(stakptr(PATH_OFFSET),np->nvalue.bfp,nv_context(np));
866 np->nvflag = n;
1020 Namval_t* np;
1032 np=nv_search(argv[0],shp->track_tree,0);
1035 if(libpath && (!np || nv_size(np)>0))
1079 np = nv_open(libenv,shp->var_tree,0);
1081 s = nv_getval(np);
1709 nv_delete(rp->np,rp->fdict,NV_NOFREE);
1758 static char *talias_get(Namval_t *np, Namfun_t *nvp)
1760 Pathcomp_t *pp = (Pathcomp_t*)np->nvalue.cp;
1764 path_nextcomp(pp->shp,pp,nv_name(np),pp);
1769 static void talias_put(register Namval_t* np,const char *val,int flags,Namfun_t *fp)
1771 if(!val && np->nvalue.cp)
1773 Pathcomp_t *pp = (Pathcomp_t*)np->nvalue.cp;
1777 nv_putv(np,val,flags,fp);
1784 * set tracked alias node <np> to value <pp>
1786 void path_alias(register Namval_t *np,register Pathcomp_t *pp)
1792 nv_offattr(np,NV_NOPRINT);
1793 nv_stack(np,&talias_init);
1794 np->nvalue.cp = (char*)pp;
1796 nv_setattr(np,NV_TAGGED|NV_NOFREE);
1797 path_nextcomp(pp->shp,pp,nv_name(np),pp);
1800 nv_setsize(np,statb.st_size+1);
1802 nv_setsize(np,0);
1805 _nv_unset(np,0);