aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net/URL.java
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2005-01-11 20:40:10 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2005-01-11 20:40:10 +0000
commit198f8870f23870485115ec91db50c0e172525889 (patch)
tree8b0ea21d1fd9877fd3c90d1666a32e3349859570 /libjava/java/net/URL.java
parente88059909a3ab500d6fa08068d3db45273ec538a (diff)
downloadgcc-198f8870f23870485115ec91db50c0e172525889.zip
gcc-198f8870f23870485115ec91db50c0e172525889.tar.gz
gcc-198f8870f23870485115ec91db50c0e172525889.tar.bz2
re PR libgcj/13972 (gcj's URL() does not handle ContextURL + "/redir?http://domain2.com/index.html" correctly.)
2005-01-11 Michael Koch <konqueror@gmx.de> PR libgcj/13972 * java/net/URL.java (URL): Handle specs like "/redir?http://domain2.com/index.html" which start with a slash. From-SVN: r93197
Diffstat (limited to 'libjava/java/net/URL.java')
-rw-r--r--libjava/java/net/URL.java7
1 files changed, 3 insertions, 4 deletions
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
index 4353662..96f9799 100644
--- a/libjava/java/net/URL.java
+++ b/libjava/java/net/URL.java
@@ -392,13 +392,14 @@ public final class URL implements Serializable
// right after the "://". The second colon is for an optional port value
// and implies that the host from the context is used if available.
int colon;
+ int slash = spec.indexOf('/');
if ((colon = spec.indexOf("://", 1)) > 0
+ && ((colon < slash || slash < 0))
&& ! spec.regionMatches(colon, "://:", 0, 4))
context = null;
- int slash;
if ((colon = spec.indexOf(':')) > 0
- && (colon < (slash = spec.indexOf('/')) || slash < 0))
+ && (colon < slash || slash < 0))
{
// Protocol specified in spec string.
protocol = spec.substring(0, colon).toLowerCase();
@@ -429,8 +430,6 @@ public final class URL implements Serializable
authority = context.authority;
}
else // Protocol NOT specified in spec. and no context available.
-
-
throw new MalformedURLException("Absolute URL required with null context");
protocol = protocol.trim();