diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-05-31 22:12:49 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2015-05-31 22:12:49 +0900 |
| commit | c80f500c68de24e114e4a7437db61ebfca7918f8 (patch) | |
| tree | f35d538f78eefda4ed0b418b56a4be8ed9b2c9db /src/codegen.c | |
| parent | 6a1978c7e1f58d3cda8cca390d65e5f64580b169 (diff) | |
| parent | 5cd877be7f875546dcc03d80aeeddd4bbbcffe3d (diff) | |
| download | mruby-c80f500c68de24e114e4a7437db61ebfca7918f8.tar.gz mruby-c80f500c68de24e114e4a7437db61ebfca7918f8.zip | |
Merge pull request #2814 from cremno/fix-masgn-nosplat-array-rhs-bug
fix masgn nosplat array rhs bug
Diffstat (limited to 'src/codegen.c')
| -rw-r--r-- | src/codegen.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/codegen.c b/src/codegen.c index 6f1f75e88..be630b9a8 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1615,8 +1615,14 @@ codegen(codegen_scope *s, node *tree, int val) } } if (t->car) { /* rest (len - pre - post) */ - int rn = len - post - n; + int rn; + if (len < post + n) { + rn = 0; + } + else { + rn = len - post - n; + } genop(s, MKOP_ABC(OP_ARRAY, cursp(), rhs+n, rn)); gen_assignment(s, t->car, cursp(), NOVAL); n += rn; |
