Lines Matching refs:vp

231 static void chktfree(register Namval_t *np, register struct vardisc *vp)
234 for(n=0; n< sizeof(vp->disc)/sizeof(*vp->disc); n++)
236 if(vp->disc[n])
239 if(n>=sizeof(vp->disc)/sizeof(*vp->disc))
254 register struct vardisc *vp = (struct vardisc*)handle;
255 register Namval_t *nq = vp->disc[type];
293 nq = vp->disc[type=UNASSIGN];
304 if(!vp->disc[type])
305 chktfree(np,vp);
347 for(n=0; n < sizeof(vp->disc)/sizeof(*vp->disc); n++)
349 if((nq=vp->disc[n]) && !nv_isattr(nq,NV_NOFREE))
370 register struct vardisc *vp = (struct vardisc*)handle;
372 register Namval_t *nq = vp->disc[type];
392 if(!vp->disc[type])
393 chktfree(np,vp);
448 register struct vardisc *vp = (struct vardisc*)np->nvfun;
451 while(vp)
453 if(vp->fun.disc && (vp->fun.disc->setdisc || vp->fun.disc->putval == assign))
455 vp = (struct vardisc*)vp->fun.next;
457 if(vp && !vp->fun.disc)
458 vp = 0;
484 for(fp=(Namfun_t*)vp; fp; fp=fp->next)
506 if(vp && vp->fun.disc->putval!=assign)
507 vp = 0;
508 if(!vp)
513 if(!(vp = newof(NIL(struct vardisc*),struct vardisc,1,sizeof(Namdisc_t))))
515 dp = (Namdisc_t*)(vp+1);
516 vp->fun.disc = dp;
522 nv_stack(np, (Namfun_t*)vp);
526 action = vp->disc[type];
531 Namdisc_t *dp = (Namdisc_t*)vp->fun.disc;
536 vp->disc[type] = action;
541 action = vp->disc[type];
542 vp->disc[type] = 0;
544 chktfree(np,vp);
558 register Nambfun_t *vp = (Nambfun_t*)fp;
561 const char **discnames = vp->bnames;
587 action = vp->bltins[type];
591 if(tp && (np = (Namval_t*)vp->bltins[type]) && nv_isattr(np,NV_STATICF))
593 vp->bltins[type] = action;
597 action = vp->bltins[type];
598 vp->bltins[type] = 0;
608 register Nambfun_t *vp = (Nambfun_t*)fp;
610 for(i=0; vp->bnames[i]; i++)
613 if((mp=vp->bltins[i]) && !nv_isattr(mp,NV_NOFREE))
651 register Nambfun_t *vp;
659 if(!(vp = newof(NIL(Nambfun_t*),Nambfun_t,1,n*sizeof(Namval_t*))))
661 vp->fun.dsize = sizeof(Nambfun_t)+n*sizeof(Namval_t*);
662 vp->fun.nofree |= 2;
663 vp->num = n;
665 memcpy((void*)vp->bltins, (void*)funs,n*sizeof(Namval_t*));
667 vp->bltins[n--] = 0;
668 vp->fun.disc = &Nv_bdisc;
669 vp->bnames = names;
670 nv_stack(np,&vp->fun);