diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-06 00:18:46 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-06 00:18:46 +0900 |
| commit | 55da4cdc86d7c766c78a3f4c980a63eb7d991aa1 (patch) | |
| tree | 96bca7246f704b55bb3b29f6246e42fc34dd009b /src | |
| parent | 803dcb512e2d01eae2fda0fa2db8953a3c485956 (diff) | |
| parent | 91a90540737ddc233d0c68dea05d779fafc32e8e (diff) | |
| download | mruby-55da4cdc86d7c766c78a3f4c980a63eb7d991aa1.tar.gz mruby-55da4cdc86d7c766c78a3f4c980a63eb7d991aa1.zip | |
Merge branch 'master' of github.com:mruby/mruby
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 1 | ||||
| -rw-r--r-- | src/vm.c | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/class.c b/src/class.c index a36f12e6b..1e2ac7aa0 100644 --- a/src/class.c +++ b/src/class.c @@ -522,6 +522,7 @@ mrb_mod_include(mrb_state *mrb, mrb_value klass) mrb_value mod; mrb_get_args(mrb, "o", &mod); + mrb_check_type(mrb, mod, MRB_TT_MODULE); mrb_include_module(mrb, mrb_class_ptr(klass), mrb_class_ptr(mod)); return mod; } @@ -268,7 +268,7 @@ localjump_error(mrb_state *mrb, const char *kind) mrb_value exc; snprintf(buf, 256, "unexpected %s", kind); - exc = mrb_exc_new(mrb, E_LOCALJUMP_ERROR, buf, sizeof(buf)); + exc = mrb_exc_new(mrb, E_LOCALJUMP_ERROR, buf, strlen(buf)); mrb->exc = mrb_object(exc); } @@ -992,6 +992,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self) case OP_R_RETURN: if (proc->env->cioff < 0) { localjump_error(mrb, "return"); + goto L_RAISE; } ci = mrb->ci = mrb->cibase + proc->env->cioff; break; |
