aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Green <green@redhat.com>2003-06-08 22:07:48 +0000
committerAnthony Green <green@gcc.gnu.org>2003-06-08 22:07:48 +0000
commita8a8de48756b3c27e28e616b31886e84bf937f05 (patch)
tree17da92559877904ab4b92fcd89330f000a62e5eb
parent51d2dfa601d743ba2f4cbe4e70691a3a6ddf2fa6 (diff)
downloadgcc-a8a8de48756b3c27e28e616b31886e84bf937f05.zip
gcc-a8a8de48756b3c27e28e616b31886e84bf937f05.tar.gz
gcc-a8a8de48756b3c27e28e616b31886e84bf937f05.tar.bz2
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
-rw-r--r--libjava/ChangeLog7
-rw-r--r--libjava/gnu/gcj/protocol/http/Handler.java10
-rw-r--r--libjava/java/net/URL.java4
-rw-r--r--libjava/java/net/URLStreamHandler.java10
4 files changed, 26 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 2d0597b..d0b1a4d 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -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:
diff --git a/libjava/gnu/gcj/protocol/http/Handler.java b/libjava/gnu/gcj/protocol/http/Handler.java
index ccf94e7..608d07e 100644
--- a/libjava/gnu/gcj/protocol/http/Handler.java
+++ b/libjava/gnu/gcj/protocol/http/Handler.java
@@ -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;
+ }
}
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
index fd7428e..5e32e2e 100644
--- a/libjava/java/net/URL.java
+++ b/libjava/java/net/URL.java
@@ -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
diff --git a/libjava/java/net/URLStreamHandler.java b/libjava/java/net/URLStreamHandler.java
index 37183b9..604279d 100644
--- a/libjava/java/net/URLStreamHandler.java
+++ b/libjava/java/net/URLStreamHandler.java
@@ -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();