Index: java/lang/natClassLoader.cc =================================================================== RCS file: /cvs/gcc/gcc/libjava/java/lang/natClassLoader.cc,v retrieving revision 1.51 diff -u -u -r1.51 natClassLoader.cc --- java/lang/natClassLoader.cc 30 Sep 2002 05:19:09 -0000 1.51 +++ java/lang/natClassLoader.cc 4 Oct 2002 14:09:59 -0000 @@ -204,7 +204,14 @@ // by `lib-gnu-pkg.so' and `lib-gnu.so'. If loading one of // these causes the class to appear in the cache, then use it. java::lang::StringBuffer *sb = new java::lang::StringBuffer (JvNewStringLatin1("lib-")); - jstring so_base_name = (sb->append (name)->toString ())->replace ('.', '-'); + // Skip inner classes + jstring cn; + jint ci = name->indexOf('$'); + if (ci == -1) + cn = name; + else + cn = name->substring (0, ci); + jstring so_base_name = (sb->append (cn)->toString ())->replace ('.', '-'); // Compare against `3' because that is the length of "lib". while (! klass && so_base_name && so_base_name->length() > 3)