summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2004-07-17 07:34:54 +0000
committerMichael Koch <konqueror@gmx.de>2004-07-17 07:34:54 +0000
commitad052892a901bab0ecc0082d569383ee463135ce (patch)
treefe29848df61da58b5b560d0c32587ea7af7ddeff
parentf33f9979ee68405e71fbf1f7fefa13305e7826d8 (diff)
downloadclasspath-ad052892a901bab0ecc0082d569383ee463135ce.tar.gz
2004-07-17 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java (getLocalAddress): Check if socket is bound or not. * java/net/Socket.java (getLocalAddrss): Check if socket is bound or not. (getPort): Return -1 when not connected. Dont check getImpl() for null. (setReuseAddress): Check if socket is closed. (isConnected): Check if getImpl() returns null.
-rw-r--r--ChangeLog11
-rw-r--r--java/net/DatagramSocket.java5
-rw-r--r--java/net/Socket.java14
3 files changed, 25 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 59c2fa539..792984f93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2004-07-17 Michael Koch <konqueror@gmx.de>
+ * java/net/DatagramSocket.java
+ (getLocalAddress): Check if socket is bound or not.
+ * java/net/Socket.java
+ (getLocalAddrss): Check if socket is bound or not.
+ (getPort): Return -1 when not connected. Dont check getImpl() for
+ null.
+ (setReuseAddress): Check if socket is closed.
+ (isConnected): Check if getImpl() returns null.
+
+2004-07-17 Michael Koch <konqueror@gmx.de>
+
* java/beans/EventHandler.java: New file.
* java/beans/Makefile.am
(EXTRA_DIST): Added EventHandler.java.
diff --git a/java/net/DatagramSocket.java b/java/net/DatagramSocket.java
index 2808d8242..d29d12234 100644
--- a/java/net/DatagramSocket.java
+++ b/java/net/DatagramSocket.java
@@ -1,5 +1,6 @@
/* DatagramSocket.java -- A class to model UDP sockets
- Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2002, 2003, 2004
+ Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -282,7 +283,7 @@ public class DatagramSocket
*/
public InetAddress getLocalAddress()
{
- if (isClosed())
+ if (! isBound())
return null;
InetAddress localAddr;
diff --git a/java/net/Socket.java b/java/net/Socket.java
index 43c6f3c3d..714a958e6 100644
--- a/java/net/Socket.java
+++ b/java/net/Socket.java
@@ -488,6 +488,9 @@ public class Socket
*/
public InetAddress getLocalAddress()
{
+ if (! isBound())
+ return null;
+
InetAddress addr = null;
try
@@ -523,12 +526,11 @@ public class Socket
public int getPort()
{
if (! isConnected())
- return 0;
+ return -1;
try
{
- if (getImpl() != null)
- return getImpl().getPort();
+ return getImpl().getPort();
}
catch (SocketException e)
{
@@ -1155,6 +1157,9 @@ public class Socket
*/
public void setReuseAddress(boolean reuseAddress) throws SocketException
{
+ if (isClosed())
+ throw new SocketException("socket is closed");
+
getImpl().setOption(SocketOptions.SO_REUSEADDR,
Boolean.valueOf(reuseAddress));
}
@@ -1217,6 +1222,9 @@ public class Socket
{
try
{
+ if (getImpl() == null)
+ return false;
+
return getImpl().getInetAddress() != null;
}
catch (SocketException e)