summaryrefslogtreecommitdiff
path: root/jni/ruby/ext/-test-/exception/enc_raise.c
diff options
context:
space:
mode:
Diffstat (limited to 'jni/ruby/ext/-test-/exception/enc_raise.c')
-rw-r--r--jni/ruby/ext/-test-/exception/enc_raise.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/jni/ruby/ext/-test-/exception/enc_raise.c b/jni/ruby/ext/-test-/exception/enc_raise.c
new file mode 100644
index 0000000..dc8a42c
--- /dev/null
+++ b/jni/ruby/ext/-test-/exception/enc_raise.c
@@ -0,0 +1,15 @@
+#include <ruby.h>
+#include <ruby/encoding.h>
+
+static VALUE
+enc_raise(VALUE exc, VALUE encoding, VALUE mesg)
+{
+ rb_enc_raise(rb_to_encoding(encoding), exc, "%s", StringValueCStr(mesg));
+ UNREACHABLE;
+}
+
+void
+Init_enc_raise(VALUE klass)
+{
+ rb_define_module_function(klass, "enc_raise", enc_raise, 2);
+}