diff options
author | Guilhem Lavaux <guilhem@kaffe.org> | 2003-10-02 19:29:31 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-10-02 19:29:31 +0000 |
commit | d1aa4795838afb7c3cf72ae3b028a1b46beffada (patch) | |
tree | d51e251f25711621421f1103be493176e4e06337 /libjava/java | |
parent | bca48dc625ffcb7778a73b42adfe9071800a9e43 (diff) | |
download | gcc-d1aa4795838afb7c3cf72ae3b028a1b46beffada.zip gcc-d1aa4795838afb7c3cf72ae3b028a1b46beffada.tar.gz gcc-d1aa4795838afb7c3cf72ae3b028a1b46beffada.tar.bz2 |
2003-10-02 Guilhem Lavaux <guilhem@kaffe.org>
* java/net/InetSocketAddress.java
(InetSocketAddress): Made exception more clear.
(equals): Handle case when addr is null.
(toString): Likewise.
* java/net/NetworkInterface.java
(static): Load native library.
(getNetworkInterfaces): Rewritten.
From-SVN: r72047
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(); } /** |