1 static void Init_golf(
void);
2 static void *goruby_options(
int argc,
char **argv);
3 static int goruby_run_node(
void *arg);
4 #define ruby_options goruby_options
5 #define ruby_run_node goruby_run_node
13 #define pipe(p) _pipe(p, 32L, _O_NOINHERIT)
14 #elif defined HAVE_UNISTD_H
20 RUBY_EXTERN void ruby_init_ext(
const char *name,
void (*init)(
void));
22 #include "golf_prelude.c"
33 goruby_options(
int argc,
char **argv)
35 static const char cmd[] =
"END{require 'irb';IRB.start}";
39 if ((isatty(0) && isatty(1) && isatty(2)) && (pipe(rw) == 0)) {
49 n = write(rw[1], cmd,
sizeof(cmd) - 1);
61 goruby_run_node(
void *arg)
65 return state == EXIT_SUCCESS ? EXIT_FAILURE : state;
#define RUBY_EXTERN
Declaration of externally visible global variables.
#define Qtrue
Old name of RUBY_Qtrue.
#define NIL_P
Old name of RB_NIL_P.
int ruby_run_node(void *n)
Runs the given compiled source and exits this process.
void * ruby_options(int argc, char **argv)
Processes command line arguments and compiles the Ruby source to execute.
void rb_provide(const char *feature)
Declares that the given feature is already provided by someone else.
VALUE rb_protect(VALUE(*func)(VALUE args), VALUE args, int *state)
Protects a function call from potential global escapes from the function.
uintptr_t VALUE
Type that represents a Ruby object.