diff options
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/net/InetSocketAddress.java | 22 | ||||
-rw-r--r-- | libjava/java/net/NetworkInterface.java | 19 |
2 files changed, 28 insertions, 13 deletions
diff --git a/libjava/java/net/InetSocketAddress.java b/libjava/java/net/InetSocketAddress.java index c720fbc..3f6eb09 100644 --- a/libjava/java/net/InetSocketAddress.java +++ b/libjava/java/net/InetSocketAddress.java @@ -68,7 +68,7 @@ public class InetSocketAddress extends SocketAddress throws IllegalArgumentException { if (port < 0 || port > 65535) - throw new IllegalArgumentException(); + throw new IllegalArgumentException ("Bad port number: " + port); if (addr == null) addr = InetAddress.ANY_IF; @@ -102,9 +102,11 @@ public class InetSocketAddress extends SocketAddress public InetSocketAddress(String hostname, int port) throws IllegalArgumentException { - if (port < 0 || port > 65535 - || hostname == null) - throw new IllegalArgumentException(); + if (hostname == null) + throw new IllegalArgumentException ("Null host name value"); + + if (port < 0 || port > 65535) + throw new IllegalArgumentException ("Bad port number: " + port); this.port = port; this.hostname = hostname; @@ -130,8 +132,14 @@ public class InetSocketAddress extends SocketAddress if (obj instanceof InetSocketAddress) { - InetSocketAddress a = (InetSocketAddress) obj; - return addr.equals(a.addr) && a.port == port; + InetSocketAddress sa = (InetSocketAddress) obj; + + if (addr == null && sa.addr != null) + return false; + else if (addr == null && sa.addr == null) + return hostname.equals (sa.hostname) && sa.port == port; + else + return addr.equals (sa.addr) && sa.port == port; } return false; @@ -183,6 +191,6 @@ public class InetSocketAddress extends SocketAddress */ public String toString() { - return addr + ":" + port; + return (addr == null ? hostname : addr.getHostName()) + ":" + port; } } diff --git a/libjava/java/net/NetworkInterface.java b/libjava/java/net/NetworkInterface.java index c3eb710..f6d3748 100644 --- a/libjava/java/net/NetworkInterface.java +++ b/libjava/java/net/NetworkInterface.java @@ -37,6 +37,7 @@ exception statement from your version. */ package java.net; +import gnu.classpath.Configuration; import java.util.Enumeration; import java.util.Vector; @@ -52,6 +53,14 @@ import java.util.Vector; */ public final class NetworkInterface { + static + { + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary ("javanet"); + } + } + private String name; private Vector inetAddresses; @@ -185,14 +194,12 @@ public final class NetworkInterface public static Enumeration getNetworkInterfaces () throws SocketException { - Vector networkInterfaces = getRealNetworkInterfaces (); - - Enumeration tmp = networkInterfaces.elements (); + Vector networkInterfaces = getRealNetworkInterfaces(); - if (tmp.hasMoreElements ()) - return tmp; + if (networkInterfaces.isEmpty()) + return null; - return null; + return networkInterfaces.elements(); } /** |