URL.java (equals): Compare strings using String.equals.
authorAnthony Green <green@cygnus.com>
Mon, 5 Jul 1999 13:35:21 +0000 (13:35 +0000)
committerAnthony Green <green@gcc.gnu.org>
Mon, 5 Jul 1999 13:35:21 +0000 (13:35 +0000)
* java/net/URL.java (equals): Compare strings using String.equals.
* java/net/URL.java (sameFile): Ditto.

From-SVN: r27947

libjava/ChangeLog
libjava/java/net/URL.java

index 2f980128816c9f44d7cf57ca6738ef576cd97b80..fc983da443a28e01499f09e48195db92a11c14ea 100644 (file)
@@ -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.
index b6dc13d8db44a6889043e2700caf25aa6f240dc5..d2f0bc23dd9aef7e1d7a75f171280d86112183a1 100644 (file)
@@ -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,