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);