aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/net/URL.java32
2 files changed, 27 insertions, 10 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 2f98012..fc983da 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jul 5 12:01:35 1999 Anthony Green <green@cygnus.com>
+
+ * java/net/URL.java (equals): Compare strings using String.equals.
+ * java/net/URL.java (sameFile): Ditto.
+
1999-07-02 Warren Levy <warrenl@cygnus.com>
* configure: Rebuilt.
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
index b6dc13d..d2f0bc2 100644
--- a/libjava/java/net/URL.java
+++ b/libjava/java/net/URL.java
@@ -189,11 +189,18 @@ public final class URL implements Serializable
return false;
URL uObj = (URL) obj;
- if (protocol != uObj.protocol || host != uObj.host || port != uObj.port ||
- file != uObj.file || ref != uObj.ref)
- return false;
-
- return true;
+
+ // This comparison is very conservative. It assumes that any
+ // field can be null.
+ return (port == uObj.port
+ && ((protocol == null && uObj.protocol == null)
+ || (protocol != null && protocol.equals(uObj.protocol)))
+ && ((host == null && uObj.host == null)
+ || (host != null && host.equals(uObj.host)))
+ && ((file == null && uObj.file == null)
+ || (file != null && file.equals(uObj.file)))
+ && ((ref == null && uObj.ref == null)
+ || (ref != null && ref.equals(uObj.ref))));
}
public final Object getContent() throws IOException
@@ -258,11 +265,16 @@ public final class URL implements Serializable
public boolean sameFile(URL other)
{
- if (other == null || protocol != other.protocol || host != other.host ||
- port != other.port || file != other.file)
- return false;
-
- return true;
+ // This comparison is very conservative. It assumes that any
+ // field can be null.
+ return (other != null
+ && port == other.port
+ && ((protocol == null && other.protocol == null)
+ || (protocol != null && protocol.equals(other.protocol)))
+ && ((host == null && other.host == null)
+ || (host != null && host.equals(other.host)))
+ && ((file == null && other.file == null)
+ || (file != null && file.equals(other.file))));
}
protected void set(String protocol, String host, int port, String file,