Commit 9c309ac9 by Tom Tromey Committed by Tom Tromey

SystemClassLoader.java (init): Handle empty element in path.

	* gnu/gcj/runtime/SystemClassLoader.java (init): Handle empty
	element in path.

From-SVN: r99676
parent c2dba4ab
2005-05-13 Tom Tromey <tromey@redhat.com>
* gnu/gcj/runtime/SystemClassLoader.java (init): Handle empty
element in path.
2005-05-12 Bryce McKinlay <mckinlay@redhat.com>
* include/jvm.h (gcj::verifyClasses): Declare.
......
......@@ -27,16 +27,30 @@ public final class SystemClassLoader extends URLClassLoader
// causing a crash.
void init()
{
String sep = File.pathSeparator;
StringTokenizer st
= new StringTokenizer (System.getProperty ("java.class.path", "."),
File.pathSeparator);
sep, true);
// Pretend we start with a ':', so if we see a ':' first we add
// '.'.
boolean last_was_sep = true;
while (st.hasMoreElements ())
{
String e = st.nextToken ();
try
{
if ("".equals(e))
e = ".";
if (sep.equals(e))
{
if (last_was_sep)
{
// We saw two separators in a row, so add ".".
addURL(new URL("file", "", -1, "./"));
last_was_sep = false;
}
else
last_was_sep = true;
continue;
}
File path = new File(e);
// Ignore invalid paths.
......@@ -53,5 +67,18 @@ public final class SystemClassLoader extends URLClassLoader
throw new RuntimeException(x);
}
}
// If we saw a trailing ":", add "." to the path.
if (last_was_sep)
{
try
{
addURL(new URL("file", "", -1, "./"));
}
catch (java.net.MalformedURLException x)
{
// This should never happen.
throw new RuntimeException(x);
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment