summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-17 19:11:56 +0000
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-17 19:11:56 +0000
commit2231720cfb16e664086b9c7e56e03cd8729c5c50 (patch)
tree53d149bf6edc47478ce21e8fc9959d026a950946 /libjava
parent9228fac157aeefc6c2212565842b92c01c700ae9 (diff)
downloadgcc-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/ChangeLog11
-rw-r--r--libjava/java/net/InetSocketAddress.java24
-rw-r--r--libjava/java/net/Socket.java17
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,