summaryrefslogtreecommitdiffstats
path: root/src/evaluate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/evaluate.c')
-rw-r--r--src/evaluate.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/evaluate.c b/src/evaluate.c
index f862cd04..60bbce1b 100644
--- a/src/evaluate.c
+++ b/src/evaluate.c
@@ -1146,6 +1146,18 @@ static int binop_transfer(struct eval_ctx *ctx, struct expr **expr)
if (binop_transfer_one(ctx, left, &(*expr)->right) < 0)
return -1;
break;
+ case EXPR_RANGE:
+ err = binop_can_transfer(ctx, left, (*expr)->right->left);
+ if (err <= 0)
+ return err;
+ err = binop_can_transfer(ctx, left, (*expr)->right->right);
+ if (err <= 0)
+ return err;
+ if (binop_transfer_one(ctx, left, &(*expr)->right->left) < 0)
+ return -1;
+ if (binop_transfer_one(ctx, left, &(*expr)->right->right) < 0)
+ return -1;
+ break;
case EXPR_SET:
list_for_each_entry(i, &(*expr)->right->expressions, list) {
err = binop_can_transfer(ctx, left, i);