Lines Matching defs:vq

99 	struct tbl *vp, **vpp = l->vars.tbls, *vq;
107 if ((vq = global(vp->name))->flag & ISSET)
108 setspec(vq);
110 unsetspec(vq, false);
358 struct tbl *vq;
360 varsearch(l->next, &vq, vn, h);
361 if (vq != NULL) {
362 vp->flag |= vq->flag &
365 if (vq->flag & INTEGER)
366 vp->type = vq->type;
367 vp->u2.field = vq->u2.field;
458 setstr(struct tbl *vq, const char *s, int error_ok)
463 if ((vq->flag & RDONLY) && !no_ro_check) {
464 warningf(true, Tf_ro, vq->name);
469 if (!(vq->flag&INTEGER)) {
473 if ((vq->flag&ALLOC)) {
474 cursz = strlen(vq->val.s) + 1;
477 if (s >= vq->val.s && s < (vq->val.s + cursz)) {
480 vq->name, s);
485 if (s && (vq->flag & (UCASEV_AL|LCASEV|LJUST|RJUST)))
486 s = salloc = formatstr(vq, s);
487 if ((vq->flag&EXPORT))
488 exportprep(vq, s, cursz);
491 vq->val.s = aresizeif(cursz, (vq->flag & ALLOC) ?
492 vq->val.s : NULL, n, vq->areap);
493 memcpy(vq->val.s, s, n);
494 vq->flag |= ALLOC;
495 vq->type = 0;
500 if (!v_evaluate(vq, s, error_ok, true))
503 vq->flag |= ISSET;
504 if ((vq->flag&SPECIAL))
505 setspec(vq);
511 setint(struct tbl *vq, mksh_ari_t n)
513 if (!(vq->flag&INTEGER)) {
519 setstr(vq, str_val(vtemp), KSH_RETURN_ERROR);
521 vq->val.i = n;
522 vq->flag |= ISSET;
523 if ((vq->flag&SPECIAL))
524 setspec(vq);
622 * convert variable vq to integer variable, setting its value from vp
623 * (vq and vp may be the same)
626 setint_v(struct tbl *vq, struct tbl *vp, bool arith)
633 setint_n(vq, num.i, 0);
634 if (vq->type == 0)
636 vq->type = base;
637 return (vq);
640 /* convert variable vq to integer variable, setting its value to num */
642 setint_n(struct tbl *vq, mksh_ari_t num, int newbase)
644 if (!(vq->flag & INTEGER) && (vq->flag & ALLOC)) {
645 vq->flag &= ~ALLOC;
646 vq->type = 0;
647 afree(vq->val.s, vq->areap);
649 vq->val.i = num;
651 vq->type = newbase;
652 vq->flag |= ISSET|INTEGER;
653 if (vq->flag&SPECIAL)
654 setspec(vq);
1634 struct tbl *vp, *vq;
1670 for (vq = vp; vq; vq = vq->u.array) {
1671 if (!(vq->flag & ISSET))
1673 if (arrayindex(vq) >= j)
1674 j = arrayindex(vq) + 1;
1703 vq = arraysearch(vp, j);
1705 setstr(vq, ccp, KSH_RETURN_ERROR);