diff options
Diffstat (limited to 'libjava/java/net')
-rw-r--r-- | libjava/java/net/URLClassLoader.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libjava/java/net/URLClassLoader.java b/libjava/java/net/URLClassLoader.java index 10b6735..9a468bf 100644 --- a/libjava/java/net/URLClassLoader.java +++ b/libjava/java/net/URLClassLoader.java @@ -311,6 +311,9 @@ public class URLClassLoader extends SecureClassLoader if (jarfile == null) return null; + if (name.startsWith("/")) + name = name.substring(1); + JarEntry je = jarfile.getJarEntry(name); if(je != null) return new JarURLResource(this, name, je); @@ -654,6 +657,11 @@ public class URLClassLoader extends SecureClassLoader */ protected void addURL(URL newUrl) { + addURLImpl(newUrl); + } + + private void addURLImpl(URL newUrl) + { synchronized(urlloaders) { if (newUrl == null) @@ -690,7 +698,7 @@ public class URLClassLoader extends SecureClassLoader { for (int i = 0; i < newUrls.length; i++) { - addURL(newUrls[i]); + addURLImpl(newUrls[i]); } } |