From 6f968cab1508cdf04250db661e5122e53364d135 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 24 Sep 2017 05:22:23 +0000 Subject: load.c: fix rb_load_protect condition * load.c (rb_load_protect): fix the condition to load the found file. fixup of r59155. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/-test-/load/protect/extconf.rb | 1 + ext/-test-/load/protect/protect.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 ext/-test-/load/protect/extconf.rb create mode 100644 ext/-test-/load/protect/protect.c (limited to 'ext/-test-') 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 + +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); +} -- cgit v1.2.3