summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authormark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-11 16:48:29 +0000
committermark <mark@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-11 16:48:29 +0000
commit808d57cce217464e36968422d25b6d9a0a2850d7 (patch)
tree2488e5c9c3e7c042bf56eb97dcf600aa98c7aa6f /libjava
parent9af8256d49b5641d5b5624c248543912ff404ef8 (diff)
downloadgcc-808d57cce217464e36968422d25b6d9a0a2850d7.tar.gz
Reported by Roman Kennke <roman@ontographics.com> (bug #9331)
* java/net/URLStreamHandler.java (parseURL): When url file part doesn't contain a '/' just ignore context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84518 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/java/net/URLStreamHandler.java8
2 files changed, 11 insertions, 3 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 01952d6a5d5..c7f5dec4705 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+2004-07-11 Mark Wielaard <mark@klomp.org>
+
+ Reported by Roman Kennke <roman@ontographics.com> (bug #9331)
+ * java/net/URLStreamHandler.java (parseURL): When url file part
+ doesn't contain a '/' just ignore context.
+
2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
* include/s390-signal.c (SIGNAL_HANDLER): Use SIGINFO-style prototype.
diff --git a/libjava/java/net/URLStreamHandler.java b/libjava/java/net/URLStreamHandler.java
index 5fef7ea909e..aca62612f66 100644
--- a/libjava/java/net/URLStreamHandler.java
+++ b/libjava/java/net/URLStreamHandler.java
@@ -208,9 +208,11 @@ public abstract class URLStreamHandler
{
// Context is available, but only override it if there is a new file.
int lastSlash = file.lastIndexOf('/');
-
- file =
- file.substring(0, lastSlash) + '/' + spec.substring(start, end);
+ if (lastSlash < 0)
+ file = spec.substring(start, end);
+ else
+ file = (file.substring(0, lastSlash)
+ + '/' + spec.substring(start, end));
if (url.getProtocol().equals("file"))
{