From 7d8f4ff955130fe12853c14f6909c8c9868d2144 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Tue, 17 Jun 2003 19:11:56 +0000 Subject: 2003-06-17 Michael Koch * java/net/InetSocketAddress.java (InetSocketAddress): Use wildcard address if addr is null. (InetSocketAddress): Dont duplicate implementation. (InetSocketAddress): Throw exception when hostname is null. * java/net/Socket.java: Reworked imports. (Socket): Throw exception when raddr is null, handle case when laddr is null. From-SVN: r68106 --- libjava/java/net/Socket.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'libjava/java/net/Socket.java') diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java index 8535fa9ef61..38b31ec8cc8 100644 --- a/libjava/java/net/Socket.java +++ b/libjava/java/net/Socket.java @@ -37,7 +37,9 @@ exception statement from your version. */ package java.net; -import java.io.*; +import java.io.InputStream; +import java.io.IOException; +import java.io.OutputStream; import java.nio.channels.SocketChannel; import java.nio.channels.IllegalBlockingModeException; @@ -87,8 +89,6 @@ public class Socket private boolean closed = false; - // Constructors - /** * Initializes a new instance of Socket object without * connecting to a remote host. This useful for subclasses of socket that @@ -282,6 +282,9 @@ public class Socket { this(); + if (raddr == null) + throw new NullPointerException (); + if (impl == null) throw new IOException("Cannot initialize Socket implementation"); @@ -289,8 +292,12 @@ public class Socket if (sm != null) sm.checkConnect(raddr.getHostName(), rport); - // bind/connect socket - bind (new InetSocketAddress (laddr, lport)); + // bind socket + SocketAddress bindaddr = + laddr == null ? null : new InetSocketAddress (laddr, lport); + bind (bindaddr); + + // connect socket connect (new InetSocketAddress (raddr, rport)); // FIXME: JCL p. 1586 says if localPort is unspecified, bind to any port, -- cgit v1.2.3