Lines Matching refs:vq
97 struct tbl *vp, **vpp = l->vars.tbls, *vq;
105 if ((vq = global(vp->name))->flag & ISSET)
106 setspec(vq);
108 unsetspec(vq);
351 struct tbl *vq;
353 varsearch(l->next, &vq, vn, h);
354 if (vq != NULL) {
355 vp->flag |= vq->flag &
358 if (vq->flag & INTEGER)
359 vp->type = vq->type;
360 vp->u2.field = vq->u2.field;
449 setstr(struct tbl *vq, const char *s, int error_ok)
455 if ((vq->flag & RDONLY) && !no_ro_check) {
456 warningf(true, Tf_ro, vq->name);
461 if (!(vq->flag&INTEGER)) {
463 if ((vq->flag&ALLOC)) {
466 if (s >= vq->val.s &&
467 s <= vq->val.s + strlen(vq->val.s)) {
470 vq->name, s);
473 afree(vq->val.s, vq->areap);
475 vq->flag &= ~(ISSET|ALLOC);
476 vq->type = 0;
477 if (s && (vq->flag & (UCASEV_AL|LCASEV|LJUST|RJUST)))
478 s = salloc = formatstr(vq, s);
479 if ((vq->flag&EXPORT))
480 exportprep(vq, s);
482 strdupx(vq->val.s, s, vq->areap);
483 vq->flag |= ALLOC;
487 if (!v_evaluate(vq, s, error_ok, true))
490 vq->flag |= ISSET;
491 if ((vq->flag&SPECIAL))
492 setspec(vq);
499 setint(struct tbl *vq, mksh_ari_t n)
501 if (!(vq->flag&INTEGER)) {
507 setstr(vq, str_val(vtemp), KSH_RETURN_ERROR);
509 vq->val.i = n;
510 vq->flag |= ISSET;
511 if ((vq->flag&SPECIAL))
512 setspec(vq);
610 * convert variable vq to integer variable, setting its value from vp
611 * (vq and vp may be the same)
614 setint_v(struct tbl *vq, struct tbl *vp, bool arith)
621 setint_n(vq, num.i, 0);
622 if (vq->type == 0)
624 vq->type = base;
625 return (vq);
628 /* convert variable vq to integer variable, setting its value to num */
630 setint_n(struct tbl *vq, mksh_ari_t num, int newbase)
632 if (!(vq->flag & INTEGER) && (vq->flag & ALLOC)) {
633 vq->flag &= ~ALLOC;
634 vq->type = 0;
635 afree(vq->val.s, vq->areap);
637 vq->val.i = num;
639 vq->type = newbase;
640 vq->flag |= ISSET|INTEGER;
641 if (vq->flag&SPECIAL)
642 setspec(vq);
1560 struct tbl *vp, *vq;
1593 for (vq = vp; vq; vq = vq->u.array) {
1594 if (!(vq->flag & ISSET))
1596 if (arrayindex(vq) >= j)
1597 j = arrayindex(vq) + 1;
1625 vq = arraysearch(vp, j);
1627 setstr(vq, ccp, KSH_RETURN_ERROR);