Lines Matching refs:np
216 int nv_subsaved(register Namval_t *np)
224 if(lp->node==np)
236 Namval_t *sh_assignok(register Namval_t *np,int add)
247 if(!sp->shpwd || np==SH_LEVELNOD || np==L_ARGNOD || np==SH_SUBSCRNOD || np==SH_NAMENOD)
248 return(np);
249 if((ap=nv_arrayptr(np)) && (mp=nv_opensub(np)))
254 return(np);
258 if(lp->node==np)
259 return(np);
261 /* first two pointers use linkage from np */
262 lp = (struct Link*)malloc(sizeof(*np)+2*sizeof(void*));
264 lp->node = np;
265 if(!add && nv_isvtree(np))
269 char *name = nv_name(np);
292 mp->nvname = np->nvname;
293 if(nv_isattr(np,NV_NOFREE))
295 nv_clone(np,mp,(add?(nv_isnull(np)?0:NV_NOFREE)|NV_ARRAY:NV_MOVE));
297 return(np);
306 register Namval_t *mp, *np;
313 np = (Namval_t*)&lp->dict;
319 if(nv_isattr(mp,NV_MINIMAL) && !nv_isattr(np,NV_EXPORT))
324 if(nv_isarray(np))
326 nv_clone(np,mp,NV_MOVE);
329 nv_setsize(mp,nv_size(np));
331 mp->nvenv = np->nvenv;
332 mp->nvfun = np->nvfun;
333 if(nv_isattr(np,NV_IDENT))
335 nv_offattr(np,NV_IDENT);
338 mp->nvflag = np->nvflag|(flags&NV_MINIMAL);
341 nv_putval(mp, nv_getval(np),np->nvflag|NV_NOFREE);
342 if(!nv_isattr(np,NV_NOFREE))
346 mp->nvalue.cp = np->nvalue.cp;
347 np->nvfun = 0;
355 else if(nv_isattr(np,NV_EXPORT))
408 register Namval_t *np,*nq;
410 for(np=(Namval_t*)dtfirst(root);np;np=nq)
412 nq = (Namval_t*)dtnext(root,np);
414 if(fun && np->nvalue.rp && np->nvalue.rp->fname && *np->nvalue.rp->fname=='/')
416 np->nvalue.rp->fdict = 0;
420 _nv_unset(np,NV_RDONLY);
421 nv_delete(np,root,flag|NV_FUNCTION);