diff options
| author | Tom Tromey <tromey@cygnus.com> | 2000-08-11 03:07:59 +0000 |
|---|---|---|
| committer | Tom Tromey <tromey@gcc.gnu.org> | 2000-08-11 03:07:59 +0000 |
| commit | 366a0fd8043a51bcd6e2f81004cde8d9607331e2 (patch) | |
| tree | bb40296aa76ff73c6371d67ebd7120a12196a32b /libjava/java/net/natPlainDatagramSocketImpl.cc | |
| parent | edd71f0f6cd9a303874d4a3e604a5f5fe760a975 (diff) | |
natPlainSocketImpl.cc (bind): Don't go to error case when errno not set.
* java/net/natPlainSocketImpl.cc (bind): Don't go to error case
when errno not set.
(connect): Likewise.
(accept): Likewise.
(getOption): Likewise.
* java/net/natPlainDatagramSocketImpl.cc (bind): Don't go to error
case when errno not set.
(peek): Likewise.
(send): Likewise.
(receive): Likewise.
(mcastGrp): Likewise.
(setOption): Likewise.
(getOption): Likewise.
From-SVN: r35617
Diffstat (limited to 'libjava/java/net/natPlainDatagramSocketImpl.cc')
| -rw-r--r-- | libjava/java/net/natPlainDatagramSocketImpl.cc | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc index fe83b1053f6..2fac17ed828 100644 --- a/libjava/java/net/natPlainDatagramSocketImpl.cc +++ b/libjava/java/net/natPlainDatagramSocketImpl.cc @@ -199,7 +199,8 @@ java::net::PlainDatagramSocketImpl::bind (jint lport, } #endif else - goto error; + throw new java::net::SocketException (JvNewStringUTF ("invalid length")); + if (::bind (fnum, ptr, len) == 0) { socklen_t addrlen = sizeof(u); @@ -245,7 +246,8 @@ java::net::PlainDatagramSocketImpl::peek (java::net::InetAddress *i) } #endif else - goto error; + throw new java::net::SocketException (JvNewStringUTF ("invalid family")); + i->address = raddr; return rport; error: @@ -281,7 +283,8 @@ java::net::PlainDatagramSocketImpl::send (java::net::DatagramPacket *p) } #endif else - goto error; + throw new java::net::SocketException (JvNewStringUTF ("invalid length")); + if (::sendto (fnum, (char *) dbytes, p->getLength(), 0, ptr, len) >= 0) return; error: @@ -337,7 +340,8 @@ java::net::PlainDatagramSocketImpl::receive (java::net::DatagramPacket *p) } #endif else - goto error; + throw new java::net::SocketException (JvNewStringUTF ("invalid family")); + p->setAddress (new InetAddress (raddr, NULL)); p->setPort (rport); p->setLength ((jint) retlen); @@ -412,7 +416,8 @@ java::net::PlainDatagramSocketImpl::mcastGrp (java::net::InetAddress *inetaddr, } #endif else - goto error; + throw new java::net::SocketException (JvNewStringUTF ("invalid length")); + if (::setsockopt (fnum, level, opname, ptr, len) == 0) return; error: @@ -507,7 +512,9 @@ java::net::PlainDatagramSocketImpl::setOption (jint optID, } #endif else - goto error; + throw + new java::net::SocketException (JvNewStringUTF ("invalid length")); + if (::setsockopt (fnum, level, opname, ptr, len) != 0) goto error; return; @@ -576,7 +583,7 @@ java::net::PlainDatagramSocketImpl::getOption (jint optID) } #endif else - goto error; + throw new java::net::SocketException (JvNewStringUTF ("invalid family")); localAddress = new java::net::InetAddress (laddr, NULL); } return localAddress; |
