ext/rjbexception.c in rjb-1.5.6 vs ext/rjbexception.c in rjb-1.5.7

- old
+ new

@@ -24,27 +24,15 @@ #endif #include "jniwrap.h" #include "riconv.h" #include "rjb.h" -static VALUE missing_delegate(int argc, VALUE* argv, VALUE self) -{ - ID rmid = rb_to_id(argv[0]); - return rb_funcall(rb_ivar_get(self, rb_intern("@cause")), rmid, argc - 1, argv + 1); -} - static VALUE get_cause(VALUE self) { - return rb_funcall(rb_ivar_get(self, rb_intern("@cause")), rb_intern("cause"), 0); + return rb_funcall(rb_ivar_get(self, rb_intern("@cause")), rb_intern("cause"), 0); } -static VALUE exception_to_s(VALUE self) -{ - return rb_funcall(rb_ivar_get(self, rb_intern("@cause")), - rb_intern("toString"), 0); -} - /* * handle Java exception * At this time, the Java exception is defined without the package name. * This design may change in future release. */ @@ -68,23 +56,21 @@ } cname = rb_str_new2(pcls); rexp = rb_hash_aref(rjb_loaded_classes, cname); if (rexp == Qnil) { - rexp = rb_define_class(pcls, rb_eStandardError); - rb_define_method(rexp, "cause", get_cause, 0); - rb_define_method(rexp, "method_missing", missing_delegate, -1); - rb_define_method(rexp, "to_str", exception_to_s, 0); + rexp = rb_define_class(pcls, rb_eStandardError); + rb_define_method(rexp, "cause", get_cause, 0); #if defined(HAVE_RB_HASH_ASET) || defined(RUBINIUS) rb_hash_aset(rjb_loaded_classes, cname, rexp); #else -#ifdef RHASH_TBL - st_insert(RHASH_TBL(rjb_loaded_classes), cname, rexp); -#else - st_insert(RHASH(rjb_loaded_classes)->tbl, cname, rexp); + #ifdef RHASH_TBL + st_insert(RHASH_TBL(rjb_loaded_classes), cname, rexp); + #else + st_insert(RHASH(rjb_loaded_classes)->tbl, cname, rexp); + #endif #endif -#endif } return rexp; } @@ -138,10 +124,10 @@ (*jenv)->ExceptionDescribe(jenv); } (*jenv)->ExceptionClear(jenv); if(1) { - char* msg = "unknown exception"; + char* msg = (char*)"unknown exception"; jclass cls = (*jenv)->GetObjectClass(jenv, exp); jstring str = (*jenv)->CallObjectMethod(jenv, exp, rjb_throwable_getMessage); if (str) { const char* p = (*jenv)->GetStringUTFChars(jenv, str, JNI_FALSE);