Index: kaffe/kaffevm/soft.c =================================================================== RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/soft.c,v retrieving revision 1.52 diff -u -r1.52 soft.c --- kaffe/kaffevm/soft.c 28 Jun 2003 10:29:39 -0000 1.52 +++ kaffe/kaffevm/soft.c 7 Jul 2003 09:12:01 -0000 @@ -422,10 +422,12 @@ Hjava_lang_Throwable* ccexc; const char *fromtype = CLASS_CNAME(OBJECT_CLASS(o)); const char *totype = CLASS_CNAME(c); - char *format = "can't cast `%s' to `%s'"; - char *buf = checkPtr(KMALLOC(strlen(fromtype) - + strlen(totype) + strlen(format))); - sprintf(buf, format, fromtype, totype); + const char *fromloader = CLASS_CNAME(OBJECT_CLASS((Hjava_lang_Object *)OBJECT_CLASS(o)->loader)); + const char *toloader = CLASS_CNAME(OBJECT_CLASS((Hjava_lang_Object *)c->loader)); + char *format = "can't cast `%s' (%s@%p) to `%s' (%s@%p)"; + char *buf = checkPtr(KMALLOC(strlen(fromtype) + 12 + strlen(fromloader)+ + + strlen(totype) + 12 + strlen(toloader) + strlen(format))); + sprintf(buf, format, fromtype, fromloader, OBJECT_CLASS(o)->loader, totype, toloader, c->loader); ccexc = ClassCastException(buf); KFREE(buf); throwException(ccexc);