summaryrefslogtreecommitdiff
path: root/ext/-test-/load
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-24 05:22:23 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-24 05:22:23 +0000
commit6f968cab1508cdf04250db661e5122e53364d135 (patch)
tree00c3e652be8d2f88d205cfc0c5d312f76ea9cac3 /ext/-test-/load
parent1d44d10b48bb812bf57fd657a2ac8960f9ba69c7 (diff)
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
Diffstat (limited to 'ext/-test-/load')
-rw-r--r--ext/-test-/load/protect/extconf.rb1
-rw-r--r--ext/-test-/load/protect/protect.c19
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);
+}