diff options
Diffstat (limited to 'goruby.c')
| -rw-r--r-- | goruby.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -1,4 +1,4 @@ -static void Init_golf(void); +static void Init_golf_prelude(void); static void *goruby_options(int argc, char **argv); static int goruby_run_node(void *arg); #define ruby_options goruby_options @@ -17,14 +17,13 @@ static int goruby_run_node(void *arg); RUBY_EXTERN void *ruby_options(int argc, char **argv); RUBY_EXTERN int ruby_run_node(void*); -RUBY_EXTERN void ruby_init_ext(const char *name, void (*init)(void)); -#include "golf_prelude.c" +#include "golf_prelude.rbbin" static VALUE init_golf(VALUE arg) { - Init_golf(); + Init_golf_prelude(); rb_provide("golf.so"); return arg; } @@ -61,7 +60,8 @@ int goruby_run_node(void *arg) { int state; - if (NIL_P(rb_protect(init_golf, Qtrue, &state))) { + if (ruby_executable_node(arg, NULL) && + NIL_P(rb_protect(init_golf, Qtrue, &state))) { return state == EXIT_SUCCESS ? EXIT_FAILURE : state; } return ruby_run_node(arg); |
