re PR libgcj/8142 ('$' in class names vs. dlopen 'dynamic string tokens')
Fix for PR libgcj/8142 * java/lang/natClassLoader.cc (findClass): Skip inner classes when loading native modules. From-SVN: r58066
This commit is contained in:
parent
45c7cbd930
commit
9dac635528
@ -1,3 +1,9 @@
|
||||
2002-10-11 Mark Wielaard <mark@klomp.org>
|
||||
|
||||
Fix for PR libgcj/8142
|
||||
* java/lang/natClassLoader.cc (findClass): Skip inner classes when
|
||||
loading native modules.
|
||||
|
||||
2002-10-10 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* javax/swing/AbstractListModel.java
|
||||
|
@ -204,7 +204,14 @@ gnu::gcj::runtime::VMClassLoader::findClass (jstring name)
|
||||
// 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)
|
||||
|
Loading…
Reference in New Issue
Block a user