diff options
| author | dearblue <[email protected]> | 2020-10-22 23:22:29 +0900 |
|---|---|---|
| committer | dearblue <[email protected]> | 2020-10-22 23:22:29 +0900 |
| commit | edc49f9d2624fa39780ae917053e2bc12fdf1875 (patch) | |
| tree | 5c6a382477e85a2e6010f5aafc80802d88ae9693 /src/array.c | |
| parent | 27492e53a0440aee7c411d5e72b6f092cf85d6a1 (diff) | |
| download | mruby-edc49f9d2624fa39780ae917053e2bc12fdf1875.tar.gz mruby-edc49f9d2624fa39780ae917053e2bc12fdf1875.zip | |
Prohibit array changes by `mrb_get_argv()`
The `mrb_get_argv()` function will now return `const mrb_value *`.
This is because it is difficult for the caller to check if it is a splat argument (array object) and to write-barrier if necessary.
Diffstat (limited to 'src/array.c')
| -rw-r--r-- | src/array.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/array.c b/src/array.c index c4bc554ef..e1e97a1d8 100644 --- a/src/array.c +++ b/src/array.c @@ -509,7 +509,7 @@ static mrb_value mrb_ary_push_m(mrb_state *mrb, mrb_value self) { mrb_int argc; - mrb_value *argv; + const mrb_value *argv; mrb_int len, len2; struct RArray *a; @@ -947,7 +947,7 @@ mrb_ary_aset(mrb_state *mrb, mrb_value self) ary_modify(mrb, mrb_ary_ptr(self)); if (mrb_get_argc(mrb) == 2) { - mrb_value *vs = mrb_get_argv(mrb); + const mrb_value *vs = mrb_get_argv(mrb); v1 = vs[0]; v2 = vs[1]; /* a[n..m] = v */ |
