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
This commit is contained in:
Michael Koch 2005-01-11 20:40:10 +00:00 committed by Michael Koch
parent e88059909a
commit 198f8870f2
2 changed files with 9 additions and 4 deletions

View File

@ -1,3 +1,9 @@
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.
2005-01-11 Michael Koch <konqueror@gmx.de>
PR libgcj/14012, PR libgcj/14013, PR libgcj/15157, PR libgcj/15509

View File

@ -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();