Lines Matching refs:vp
188 * parse and evaluate expression, storing result in vp.
191 v_evaluate(struct tbl *vp, const char *expr, volatile int error_ok,
233 vp->flag |= INT_U;
234 if (vp->flag & INTEGER)
235 setint_v(vp, v, es->arith);
238 setstr(vp, str_val(v), error_ok);
623 struct tbl *vp;
625 vp = alloc(sizeof(struct tbl), ATEMP);
626 vp->flag = ISSET|INTEGER;
627 vp->type = 0;
628 vp->areap = ATEMP;
629 vp->ua.hval = 0;
630 vp->val.i = 0;
631 vp->name[0] = '\0';
632 return (vp);
637 intvar(Expr_state *es, struct tbl *vp)
642 if (vp->name[0] == '\0' &&
643 (vp->flag & (ISSET|INTEGER|EXPRLVALUE)) == (ISSET|INTEGER))
644 return (vp);
647 if (setint_v(vq, vp, es->arith) == NULL) {
648 if (vp->flag & EXPRINEVAL)
649 evalerr(es, ET_RECURSIVE, vp->name);
650 es->evaling = vp;
651 vp->flag |= EXPRINEVAL;
652 v_evaluate(vq, str_val(vp), KSH_UNWIND_ERROR, es->arith);
653 vp->flag &= ~EXPRINEVAL;