summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/codegen.c8
-rw-r--r--src/struct.c2
2 files changed, 3 insertions, 7 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 505f0ad5b..20799f9ae 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -208,23 +208,19 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
case OP_SETCV:
case OP_SETCONST:
case OP_SETMCNST:
- switch (c0) {
- case OP_MOVE:
+ if (c0 == OP_MOVE) {
if (GETARG_A(i) == GETARG_A(i0)) {
s->iseq[s->pc-1] = MKOP_ABx(c1, GETARG_B(i0), GETARG_Bx(i));
return;
}
- break;
}
break;
case OP_SETUPVAR:
- switch (c0) {
- case OP_MOVE:
+ if (c0 == OP_MOVE) {
if (GETARG_A(i) == GETARG_A(i0)) {
s->iseq[s->pc-1] = MKOP_ABC(c1, GETARG_B(i0), GETARG_B(i), GETARG_C(i));
return;
}
- break;
}
break;
case OP_EPOP:
diff --git a/src/struct.c b/src/struct.c
index d06124b50..fbe018930 100644
--- a/src/struct.c
+++ b/src/struct.c
@@ -416,7 +416,7 @@ mrb_struct_initialize_withArg(mrb_state *mrb, int argc, mrb_value *argv, mrb_val
mrb_raise(mrb, E_ARGUMENT_ERROR, "struct size differs");
}
st = RSTRUCT(self);
- st->ptr = malloc(sizeof(mrb_value)*argc);
+ st->ptr = mrb_malloc(mrb, sizeof(mrb_value)*argc);
st->len = n;
memcpy(st->ptr, argv, sizeof(mrb_value)*argc);
//if (n > argc) {