diff options
Diffstat (limited to 'jni/ruby/ext/-test-/exception/enc_raise.c')
-rw-r--r-- | jni/ruby/ext/-test-/exception/enc_raise.c | 15 |
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); +} |