URLStreamHandler.java (sameFile): Fix port value comparison.

2003-06-08  Anthony Green  <green@redhat.com>

        * java/net/URLStreamHandler.java (sameFile): Fix port value
        comparison.
        * java/net/URL.java (handler): Make package private.
        * gnu/gcj/protocol/http/Handler.java (getDefaultPort): New method.

From-SVN: r67640
This commit is contained in:
Anthony Green 2003-06-08 22:07:48 +00:00 committed by Anthony Green
parent 51d2dfa601
commit a8a8de4875
4 changed files with 26 additions and 5 deletions

View File

@ -1,3 +1,10 @@
2003-06-08 Anthony Green <green@redhat.com>
* java/net/URLStreamHandler.java (sameFile): Fix port value
comparison.
* java/net/URL.java (handler): Make package private.
* gnu/gcj/protocol/http/Handler.java (getDefaultPort): New method.
2003-06-07 Tom Tromey <tromey@redhat.com>
For PR libgcj/11085:

View File

@ -1,6 +1,6 @@
// Handler.java - URLStreamHandler for http protocol.
/* Copyright (C) 1999 Free Software Foundation
/* Copyright (C) 1999, 2003 Free Software Foundation
This file is part of libgcj.
@ -16,7 +16,8 @@ import java.net.URLStreamHandler;
import java.io.IOException;
/**
* @author Warren Levy <warrenl@cygnus.com>
* @author Warren Levy
* @author Anthony Green <green@redhat.com>
* @date March 26, 1999.
*/
@ -32,4 +33,9 @@ public class Handler extends URLStreamHandler
{
return new Connection(url);
}
protected int getDefaultPort ()
{
return 80;
}
}

View File

@ -1,5 +1,5 @@
/* URL.java -- Uniform Resource Locator Class
Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@ -147,7 +147,7 @@ public final class URL implements Serializable
/**
* The protocol handler in use for this URL
*/
transient private URLStreamHandler handler;
transient URLStreamHandler handler;
/**
* This a table where we cache protocol handlers to avoid the overhead

View File

@ -265,7 +265,15 @@ public abstract class URLStreamHandler
return true;
// This comparison is very conservative. It assumes that any
// field can be null.
if (url1 == null || url2 == null || url1.getPort() != url2.getPort())
if (url1 == null || url2 == null)
return false;
int p1 = url1.getPort ();
if (p1 == -1)
p1 = url1.handler.getDefaultPort ();
int p2 = url2.getPort ();
if (p2 == -1)
p2 = url2.handler.getDefaultPort ();
if (p1 != p2)
return false;
String s1, s2;
s1 = url1.getProtocol();