mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Call dfree member on RData/MRB_TT_DATA when collected
Signed-off-by: Patrick Hogan <pbhogan@gmail.com>
This commit is contained in:
@@ -407,8 +407,8 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
|
||||
struct REnv *e = (struct REnv *)obj;
|
||||
|
||||
if (e->cioff < 0) {
|
||||
mrb_free(mrb, e->stack);
|
||||
e->stack = 0;
|
||||
mrb_free(mrb, e->stack);
|
||||
e->stack = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -432,6 +432,14 @@ obj_free(mrb_state *mrb, struct RBasic *obj)
|
||||
case MRB_TT_STRUCT:
|
||||
case MRB_TT_EXCEPTION:
|
||||
break;
|
||||
case MRB_TT_DATA:
|
||||
{
|
||||
struct RData *d = (struct RData *)obj;
|
||||
if (d->type->dfree) {
|
||||
d->type->dfree(mrb, d->data);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
obj->tt = MRB_TT_FREE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user