Sha256: dfb712354f065b021efe4d080ba10f9515d14e4de57c30a2fac36382d9c6559f
Contents?: true
Size: 1.32 KB
Versions: 8
Compression:
Stored size: 1.32 KB
Contents
/* * driver - driver for loading mruby source code */ #include <stdint.h> #include <stdio.h> #include "mruby.h" #include "mruby/compile.h" #include "mruby/irep.h" /* The generated mruby bytecodes are stored in this array */ extern const uint8_t app_irep[]; #ifdef HAS_REQUIRE void mrb_enable_require(mrb_state *mrb); #endif /* * Print levels: * 0 - Do not print anything * 1 - Print errors only * 2 - Print errors and results */ static int check_and_print_errors(mrb_state* mrb, mrb_value result, int print_level) { if (mrb->exc && (print_level > 0)) { mrb_p(mrb, mrb_obj_value(mrb->exc)); mrb->exc = 0; return 1; } if (print_level > 1) { mrb_p(mrb, result); } return 0; } int webruby_internal_run_bytecode(mrb_state* mrb, const uint8_t *bc, int print_level) { return check_and_print_errors(mrb, mrb_load_irep(mrb, bc), print_level); } int webruby_internal_run(mrb_state* mrb, int print_level) { return webruby_internal_run_bytecode(mrb, app_irep, print_level); } int webruby_internal_run_source(mrb_state* mrb, const char *s, int print_level) { return check_and_print_errors(mrb, mrb_load_string(mrb, s), print_level); } int webruby_internal_setup(mrb_state* mrb) { #ifdef HAS_REQUIRE mrb_enable_require(mrb); #endif return 0; }
Version data entries
8 entries across 8 versions & 1 rubygems