summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-compiler
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-compiler')
-rw-r--r--mrbgems/mruby-compiler/core/codegen.c2
-rw-r--r--mrbgems/mruby-compiler/core/parse.y4
-rw-r--r--mrbgems/mruby-compiler/core/y.tab.c4
3 files changed, 5 insertions, 5 deletions
diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c
index 0000e6dbe..5d29dcb2d 100644
--- a/mrbgems/mruby-compiler/core/codegen.c
+++ b/mrbgems/mruby-compiler/core/codegen.c
@@ -706,7 +706,7 @@ lv_idx(codegen_scope *s, mrb_sym id)
static int
search_upvar(codegen_scope *s, mrb_sym id, int *idx)
{
- struct RProc *u;
+ const struct RProc *u;
int lv = 0;
codegen_scope *up = s->prev;
diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y
index cb4126713..c7c3d2a2f 100644
--- a/mrbgems/mruby-compiler/core/parse.y
+++ b/mrbgems/mruby-compiler/core/parse.y
@@ -265,7 +265,7 @@ local_unnest(parser_state *p)
static mrb_bool
local_var_p(parser_state *p, mrb_sym sym)
{
- struct RProc *u;
+ const struct RProc *u;
node *l = p->locals;
while (l) {
@@ -282,7 +282,7 @@ local_var_p(parser_state *p, mrb_sym sym)
const struct mrb_irep *ir = u->body.irep;
uint_fast16_t n = ir->nlocals;
const struct mrb_lvinfo *v = ir->lv;
- for (; n > 1; n --, v ++) {
+ for (; v && n > 1; n--, v++) {
if (v->name == sym) return TRUE;
}
if (MRB_PROC_SCOPE_P(u)) break;
diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c
index 504ec6d04..dbcc6a5bd 100644
--- a/mrbgems/mruby-compiler/core/y.tab.c
+++ b/mrbgems/mruby-compiler/core/y.tab.c
@@ -328,7 +328,7 @@ local_unnest(parser_state *p)
static mrb_bool
local_var_p(parser_state *p, mrb_sym sym)
{
- struct RProc *u;
+ const struct RProc *u;
node *l = p->locals;
while (l) {
@@ -345,7 +345,7 @@ local_var_p(parser_state *p, mrb_sym sym)
const struct mrb_irep *ir = u->body.irep;
uint_fast16_t n = ir->nlocals;
const struct mrb_lvinfo *v = ir->lv;
- for (; n > 1; n --, v ++) {
+ for (; v && n > 1; n--, v++) {
if (v->name == sym) return TRUE;
}
if (MRB_PROC_SCOPE_P(u)) break;