Lines Matching refs:nq
394 Namval_t *nq;
403 if(nq = nv_search(sub, ap->table, NV_ADD))
405 if(!nq->nvfun && nq->nvalue.cp && *nq->nvalue.cp==0)
406 _nv_unset(nq,NV_RDONLY);
407 nv_arraychild(np,nq,0);
410 sfprintf(sh.strbuf,"%s=%s",nv_name(nq),nv_getval(np));
413 if(!nv_clone(tp,nq,flags|NV_NOFREE))
417 nv_offattr(nq,NV_RDONLY);
439 Namval_t *nq, *mq;
451 if(nq=nv_opensub(np))
452 nq->nvenv = (void*)mp;
503 if(nq=nv_opensub(np))
505 if(nq && (((flags&NV_COMVAR) && nv_isvtree(nq)) || nv_isarray(nq)))
510 nv_clone(nq,mq,flags);
516 else if(nq && (flags&NV_NOFREE))
518 mq->nvalue = nq->nvalue;
519 nv_onattr(nq,NV_NOFREE);
985 Namval_t *nv_arraychild(Namval_t *np, Namval_t *nq, int c)
991 if(!nq)
1004 nq->nvenv = (char*)np;
1006 nv_clone(tp,nq, 0);
1008 nv_clone(np, nq, NV_NODISC);
1009 nv_offattr(nq,NV_ARRAY);
1012 nq->nvenv = (char*)np;
1013 if((fp=nq->nvfun) && fp->disc && fp->disc->setdisc && (fp = nv_disc(nq,fp,NV_POP)))
1019 if(c=='.' && !nq->nvalue.cp)
1021 up->np = nq;
1024 nv_setvtree(nq);
1025 return(nq);
1045 Namval_t *nq;
1046 if(nq=(*ap->header.fun)(np,NIL(char*),NV_ANEXT))
1048 if(nv_isattr(nq,NV_CHILD))
1049 nv_putsub(nq->nvalue.np,NIL(char*),ARRAY_UNDEF);