Home | History | Annotate | Download | only in src

Lines Matching defs:vq

97 	struct tbl *vp, **vpp = l->vars.tbls, *vq;
105 if ((vq = global(vp->name))->flag & ISSET)
106 setspec(vq);
108 unsetspec(vq, false);
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;
451 setstr(struct tbl *vq, const char *s, int error_ok)
457 if ((vq->flag & RDONLY) && !no_ro_check) {
458 warningf(true, Tf_ro, vq->name);
463 if (!(vq->flag&INTEGER)) {
465 if ((vq->flag&ALLOC)) {
468 if (s >= vq->val.s &&
469 s <= strnul(vq->val.s)) {
472 vq->name, s);
475 afree(vq->val.s, vq->areap);
477 vq->flag &= ~(ISSET|ALLOC);
478 vq->type = 0;
479 if (s && (vq->flag & (UCASEV_AL|LCASEV|LJUST|RJUST)))
480 s = salloc = formatstr(vq, s);
481 if ((vq->flag&EXPORT))
482 exportprep(vq, s);
484 strdupx(vq->val.s, s, vq->areap);
485 vq->flag |= ALLOC;
489 if (!v_evaluate(vq, s, error_ok, true))
492 vq->flag |= ISSET;
493 if ((vq->flag&SPECIAL))
494 setspec(vq);
501 setint(struct tbl *vq, mksh_ari_t n)
503 if (!(vq->flag&INTEGER)) {
509 setstr(vq, str_val(vtemp), KSH_RETURN_ERROR);
511 vq->val.i = n;
512 vq->flag |= ISSET;
513 if ((vq->flag&SPECIAL))
514 setspec(vq);
612 * convert variable vq to integer variable, setting its value from vp
613 * (vq and vp may be the same)
616 setint_v(struct tbl *vq, struct tbl *vp, bool arith)
623 setint_n(vq, num.i, 0);
624 if (vq->type == 0)
626 vq->type = base;
627 return (vq);
630 /* convert variable vq to integer variable, setting its value to num */
632 setint_n(struct tbl *vq, mksh_ari_t num, int newbase)
634 if (!(vq->flag & INTEGER) && (vq->flag & ALLOC)) {
635 vq->flag &= ~ALLOC;
636 vq->type = 0;
637 afree(vq->val.s, vq->areap);
639 vq->val.i = num;
641 vq->type = newbase;
642 vq->flag |= ISSET|INTEGER;
643 if (vq->flag&SPECIAL)
644 setspec(vq);
1601 struct tbl *vp, *vq;
1637 for (vq = vp; vq; vq = vq->u.array) {
1638 if (!(vq->flag & ISSET))
1640 if (arrayindex(vq) >= j)
1641 j = arrayindex(vq) + 1;
1670 vq = arraysearch(vp, j);
1672 setstr(vq, ccp, KSH_RETURN_ERROR);