From 2ce3b31a8a894e26bd15cf21cec3d171503fc688 Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Wed, 30 Jan 2013 20:53:39 -0500 Subject: Fix incorrect index use. nerr was being used for warning buffer check. --- src/parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/parse.y b/src/parse.y index 9ee9c9bec..91fb1a8e8 100644 --- a/src/parse.y +++ b/src/parse.y @@ -3000,7 +3000,7 @@ yywarn(parser_state *p, const char *s) } #endif } - else if (p->nerr < sizeof(p->warn_buffer) / sizeof(p->warn_buffer[0])) { + else if (p->nwarn < sizeof(p->warn_buffer) / sizeof(p->warn_buffer[0])) { n = strlen(s); c = (char *)parser_palloc(p, n + 1); memcpy(c, s, n + 1); -- cgit v1.2.3 From 92eb282b7a3b686ed017c6db5e1c553e02f6589c Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Fri, 8 Feb 2013 06:57:15 -0500 Subject: Don't overwrite ciidx if it is already set. --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index a2df8abdf..bde38612e 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1160,7 +1160,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) L_RAISE: ci = mrb->ci; mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc)); - mrb_obj_iv_set(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); + mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase)); eidx = ci->eidx; if (ci == mrb->cibase) { if (ci->ridx == 0) goto L_STOP; -- cgit v1.2.3