int main(int argc, char **argv) { struct strip_args args; int args_result; mrb_state *mrb; int ret; if (argc <= 1) { printf("no files to strip\n"); print_usage(argv[0]); return EXIT_FAILURE; } args_result = parse_args(argc, argv, &args); if (args_result < 0) { print_usage(argv[0]); return EXIT_FAILURE; } mrb = mrb_open_core(mrb_default_allocf, NULL); if (mrb == NULL) { fputs("Invalid mrb_state, exiting mruby-strip\n", stderr); return EXIT_FAILURE; } ret = strip(mrb, &args); mrb_close(mrb); return ret; }
mrb_state* mrb_open_allocf(mrb_allocf f, void *ud) { mrb_state *mrb = mrb_open_core(f, ud); #ifndef DISABLE_GEMS mrb_init_mrbgems(mrb); mrb_gc_arena_restore(mrb, 0); #endif return mrb; }
MRB_API mrb_state* mrb_open_allocf(mrb_allocf f, void *ud) { mrb_state *mrb = mrb_open_core(f, ud); if (mrb == NULL) { return NULL; } mrb_mruby_fiber_gem_init(mrb); /* #ifndef DISABLE_GEMS */ /* mrb_init_mrbgems(mrb); */ /* mrb_gc_arena_restore(mrb, 0); */ /* #endif */ return mrb; }