summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-strip/tools/mruby-strip/mruby-strip.c
diff options
context:
space:
mode:
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.c36
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;