diff options
Diffstat (limited to 'mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c')
| -rw-r--r-- | mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c | 36 |
1 files changed, 12 insertions, 24 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 75d6d49fd..0c632b7c1 100644 --- a/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c +++ b/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c @@ -1,9 +1,13 @@ -#include <stdio.h> +#include <mruby.h> + +#ifdef MRB_NO_STDIO +# error mruby-bin-strip conflicts 'MRB_NO_STDIO' in your build configuration +#endif + #include <stdlib.h> #include <string.h> -#include "mruby.h" -#include "mruby/irep.h" -#include "mruby/dump.h" +#include <mruby/irep.h> +#include <mruby/dump.h> struct strip_args { int argc_start; @@ -12,27 +16,11 @@ 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) { - printf("Usage: %s [options] irepfiles\n", f); - printf("options:\n"); + printf("Usage: %s [switches] irepfiles\n", f); + printf("switches:\n"); printf(" -l, --lvar remove LVAR section too.\n"); } @@ -99,7 +87,7 @@ strip(mrb_state *mrb, struct strip_args *args) /* clear lv if --lvar is enabled */ if (args->lvar) { - irep_remove_lv(mrb, irep); + mrb_irep_remove_lv(mrb, irep); } wfile = fopen(filename, "wb"); @@ -142,7 +130,7 @@ main(int argc, char **argv) print_usage(argv[0]); return EXIT_FAILURE; } - mrb = mrb_open(); + mrb = mrb_open_core(mrb_default_allocf, NULL); if (mrb == NULL) { fputs("Invalid mrb_state, exiting mruby-strip\n", stderr); return EXIT_FAILURE; |
