aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/gcj
diff options
context:
space:
mode:
authorBryce McKinlay <mckinlay@redhat.com>2004-07-05 23:18:14 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2004-07-06 00:18:14 +0100
commita1433c46a1347d2ada88ef8a940b132599d9adbc (patch)
tree1635a074c2ad50cd8bfb54b911d602de0d8e2c89 /libjava/gnu/gcj
parenta86f03720b3e13269d3e1f1853df4239ef0ffef1 (diff)
downloadgcc-a1433c46a1347d2ada88ef8a940b132599d9adbc.zip
gcc-a1433c46a1347d2ada88ef8a940b132599d9adbc.tar.gz
gcc-a1433c46a1347d2ada88ef8a940b132599d9adbc.tar.bz2
VMClassLoader.java (init): Check classpath entry before passing to URL constructor.
2004-07-05 Bryce McKinlay <mckinlay@redhat.com> * gnu/gcj/runtime/VMClassLoader.java (init): Check classpath entry before passing to URL constructor. Rethrow any MalformedURLException as a RuntimeException. Catch MalformedURLException specifically, not all exceptions. From-SVN: r84138
Diffstat (limited to 'libjava/gnu/gcj')
-rw-r--r--libjava/gnu/gcj/runtime/VMClassLoader.java38
1 files changed, 19 insertions, 19 deletions
diff --git a/libjava/gnu/gcj/runtime/VMClassLoader.java b/libjava/gnu/gcj/runtime/VMClassLoader.java
index 5e7f4c8..1fc7081 100644
--- a/libjava/gnu/gcj/runtime/VMClassLoader.java
+++ b/libjava/gnu/gcj/runtime/VMClassLoader.java
@@ -47,58 +47,58 @@ public final class VMClassLoader extends java.net.URLClassLoader
String e = st.nextToken ();
try
{
- if (!e.endsWith (File.separator) && new File (e).isDirectory ())
+ File path = new File(e);
+ // Ignore invalid paths.
+ if (!path.exists())
+ continue;
+ if (!e.endsWith (File.separator) && path.isDirectory ())
addURL(new URL("file", "", -1, e + File.separator));
else
addURL(new URL("file", "", -1, e));
}
catch (java.net.MalformedURLException x)
{
- /* Ignore this path element */
+ // This should never happen.
+ throw new RuntimeException(x);
}
}
// Add the contents of the extensions directories.
st = new StringTokenizer (System.getProperty ("java.ext.dirs"),
System.getProperty ("path.separator", ":"));
- while (st.hasMoreElements ())
+
+ try
{
- String dirname = st.nextToken ();
- try
+ while (st.hasMoreElements ())
{
+ String dirname = st.nextToken ();
File dir = new File (dirname);
if (dir.exists ())
{
if (! dirname.endsWith (File.separator))
- dirname = dirname + File.separator;
+ dirname = dirname + File.separator;
String files[]
- = dir.list (new FilenameFilter ()
+ = dir.list (new FilenameFilter ()
{
public boolean accept (File dir, String name)
{
- return (name.endsWith (".jar")
- || name.endsWith (".zip"));
+ return (name.endsWith (".jar")
+ || name.endsWith (".zip"));
}
});
for (int i = files.length - 1; i >= 0; i--)
- addURL(new URL("file", "", -1, dirname + files[i]));
+ addURL(new URL("file", "", -1, dirname + files[i]));
}
}
- catch (Exception x)
- {
- // Just ignore any badness.
- }
- }
- // Add core:/ to the end of the java.class.path so any resources
- // compiled into this executable may be found.
- try
- {
+ // Add core:/ to the end of the java.class.path so any resources
+ // compiled into this executable may be found.
addURL(new URL("core", "", -1, "/"));
}
catch (java.net.MalformedURLException x)
{
// This should never happen.
+ throw new RuntimeException(x);
}
}