diff options
author | Michael Koch <konqueror@gmx.de> | 2004-07-17 07:34:54 +0000 |
---|---|---|
committer | Michael Koch <konqueror@gmx.de> | 2004-07-17 07:34:54 +0000 |
commit | ad052892a901bab0ecc0082d569383ee463135ce (patch) | |
tree | fe29848df61da58b5b560d0c32587ea7af7ddeff | |
parent | f33f9979ee68405e71fbf1f7fefa13305e7826d8 (diff) | |
download | classpath-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-- | ChangeLog | 11 | ||||
-rw-r--r-- | java/net/DatagramSocket.java | 5 | ||||
-rw-r--r-- | java/net/Socket.java | 14 |
3 files changed, 25 insertions, 5 deletions
@@ -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) |