diff options
Diffstat (limited to 'src/state.c')
| -rw-r--r-- | src/state.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/state.c b/src/state.c index 9ec96068e..c8f3c48f8 100644 --- a/src/state.c +++ b/src/state.c @@ -11,6 +11,7 @@ #include "mruby/irep.h" #include "mruby/variable.h" #include "mruby/debug.h" +#include "mruby/string.h" void mrb_init_heap(mrb_state*); void mrb_init_core(mrb_state*); @@ -129,8 +130,8 @@ mrb_irep_free(mrb_state *mrb, mrb_irep *irep) if (!(irep->flags & MRB_ISEQ_NO_FREE)) mrb_free(mrb, irep->iseq); for (i=0; i<irep->plen; i++) { - if (irep->pool[i].type == IREP_TT_STRING) - mrb_free(mrb, irep->pool[i].value.s); + if (mrb_type(irep->pool[i]) == MRB_TT_STRING) + mrb_free(mrb, mrb_obj_ptr(irep->pool[i])); } mrb_free(mrb, irep->pool); mrb_free(mrb, irep->syms); |
