diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-17 19:11:56 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-17 19:11:56 +0000 |
commit | 2231720cfb16e664086b9c7e56e03cd8729c5c50 (patch) | |
tree | 53d149bf6edc47478ce21e8fc9959d026a950946 /libjava | |
parent | 9228fac157aeefc6c2212565842b92c01c700ae9 (diff) | |
download | gcc-2231720cfb16e664086b9c7e56e03cd8729c5c50.tar.gz |
2003-06-17 Michael Koch <konqueror@gmx.de>
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68106 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 11 | ||||
-rw-r--r-- | libjava/java/net/InetSocketAddress.java | 24 | ||||
-rw-r--r-- | libjava/java/net/Socket.java | 17 |
3 files changed, 29 insertions, 23 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index da274367f52..4f062135701 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,16 @@ 2003-06-17 Michael Koch <konqueror@gmx.de> + * 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. + +2003-06-17 Michael Koch <konqueror@gmx.de> + * java/nio/DirectByteBufferImpl.java (address): Made package private. (DirectByteBufferImpl): New constructor. diff --git a/libjava/java/net/InetSocketAddress.java b/libjava/java/net/InetSocketAddress.java index 3c54b51a0f0..c720fbcfe61 100644 --- a/libjava/java/net/InetSocketAddress.java +++ b/libjava/java/net/InetSocketAddress.java @@ -69,6 +69,9 @@ public class InetSocketAddress extends SocketAddress { if (port < 0 || port > 65535) throw new IllegalArgumentException(); + + if (addr == null) + addr = InetAddress.ANY_IF; this.addr = addr; this.port = port; @@ -85,25 +88,9 @@ public class InetSocketAddress extends SocketAddress public InetSocketAddress(int port) throws IllegalArgumentException { - if (port < 0 || port > 65535) - throw new IllegalArgumentException(); - - this.port = port; - - try - { - byte[] any = { 0, 0, 0, 0 }; - this.addr = InetAddress.getByAddress (any); - this.hostname = "0.0.0.0"; - } - catch (UnknownHostException e) - { - this.addr = null; - this.hostname = ""; - } + this ((InetAddress) null, port); } - /** * Constructs an InetSocketAddress instance. * @@ -115,7 +102,8 @@ public class InetSocketAddress extends SocketAddress public InetSocketAddress(String hostname, int port) throws IllegalArgumentException { - if (port < 0 || port > 65535) + if (port < 0 || port > 65535 + || hostname == null) throw new IllegalArgumentException(); this.port = port; 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 <code>Socket</code> 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, |