diff options
Diffstat (limited to 'ext/-test-/load')
-rw-r--r-- | ext/-test-/load/protect/extconf.rb | 1 | ||||
-rw-r--r-- | ext/-test-/load/protect/protect.c | 19 |
2 files changed, 20 insertions, 0 deletions
diff --git a/ext/-test-/load/protect/extconf.rb b/ext/-test-/load/protect/extconf.rb new file mode 100644 index 0000000000..83c080de9c --- /dev/null +++ b/ext/-test-/load/protect/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/load/protect') diff --git a/ext/-test-/load/protect/protect.c b/ext/-test-/load/protect/protect.c new file mode 100644 index 0000000000..ccfbbb9ea0 --- /dev/null +++ b/ext/-test-/load/protect/protect.c @@ -0,0 +1,19 @@ +#include <ruby.h> + +static VALUE +load_protect(int argc, VALUE *argv, VALUE self) +{ + int state; + VALUE path, wrap; + rb_scan_args(argc, argv, "11", &path, &wrap); + rb_load_protect(path, RTEST(wrap), &state); + if (state) rb_jump_tag(state); + return Qnil; +} + +void +Init_protect(void) +{ + VALUE mod = rb_define_module("Bug"); + rb_define_singleton_method(mod, "load_protect", load_protect, -1); +} |