From c704c83cbd4edda438c056fcd2c9f27eeb2497fc Mon Sep 17 00:00:00 2001 From: Anthony Green Date: Mon, 5 Jul 1999 13:35:21 +0000 Subject: [PATCH] URL.java (equals): Compare strings using String.equals. * java/net/URL.java (equals): Compare strings using String.equals. * java/net/URL.java (sameFile): Ditto. From-SVN: r27947 --- libjava/ChangeLog | 5 +++++ libjava/java/net/URL.java | 32 ++++++++++++++++++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2f980128816..fc983da443a 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 5 12:01:35 1999 Anthony Green + + * java/net/URL.java (equals): Compare strings using String.equals. + * java/net/URL.java (sameFile): Ditto. + 1999-07-02 Warren Levy * configure: Rebuilt. diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java index b6dc13d8db4..d2f0bc23dd9 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, -- 2.30.2