summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-strip
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-05-15 17:13:16 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-05-15 17:13:16 +0900
commitf0b86f36c367e111322aa2f175e05047af29480a (patch)
treeec3802aa415f240d9fb5f2d1d9fc58f247c53671 /mrbgems/mruby-bin-strip
parente0064acac71a28b75797c3e3ea1b8aca1ce8a796 (diff)
downloadmruby-f0b86f36c367e111322aa2f175e05047af29480a.tar.gz
mruby-f0b86f36c367e111322aa2f175e05047af29480a.zip
move mrb_irep_remove_lv from etc.c to mruby-bin-strip gem
Diffstat (limited to 'mrbgems/mruby-bin-strip')
-rw-r--r--mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c b/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c
index dca50f03f..f209fa060 100644
--- a/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c
+++ b/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c
@@ -9,6 +9,22 @@ struct strip_args {
mrb_bool lvar;
};
+
+static void
+irep_remove_lv(mrb_state *mrb, mrb_irep *irep)
+{
+ size_t i;
+
+ if (irep->lv) {
+ mrb_free(mrb, irep->lv);
+ irep->lv = NULL;
+ }
+
+ for (i = 0; i < irep->rlen; ++i) {
+ irep_remove_lv(mrb, irep->reps[i]);
+ }
+}
+
static void
print_usage(const char *f)
{
@@ -99,7 +115,7 @@ main(int argc, char **argv)
for (i = args_result; i < argc; ++i) {
/* clear lv if --lvar is enabled */
if (args.lvar) {
- mrb_irep_remove_lv(mrb, ireps[i]);
+ irep_remove_lv(mrb, ireps[i]);
}
/* debug flag must be alway false */