OSDN Git Service

PR libgcj/21941:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Apr 2006 15:46:40 +0000 (15:46 +0000)
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 Apr 2006 15:46:40 +0000 (15:46 +0000)
* gnu/java/net/natPlainDatagramSocketImplPosix.cc (send): Throw
UnknownHostException if needed.
* gnu/java/net/natPlainSocketImplPosix.cc (connect): Throw
UnknownHostException if needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113118 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc
libjava/gnu/java/net/natPlainSocketImplPosix.cc

index 30b0306..215ea00 100644 (file)
@@ -1,3 +1,11 @@
+2006-04-20  Tom Tromey  <tromey@redhat.com>
+
+       PR libgcj/21941:
+       * gnu/java/net/natPlainDatagramSocketImplPosix.cc (send): Throw
+       UnknownHostException if needed.
+       * gnu/java/net/natPlainSocketImplPosix.cc (connect): Throw
+       UnknownHostException if needed.
+
 2006-04-19  Tom Tromey  <tromey@redhat.com>
 
        * Makefile.in: Rebuilt.
index ada5fd1..96b374d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2005  Free Software Foundation
+/* Copyright (C) 2003, 2005, 2006  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -38,6 +38,7 @@ details.  */
 #include <java/lang/Object.h>
 #include <java/lang/Boolean.h>
 #include <java/lang/Integer.h>
+#include <java/net/UnknownHostException.h>
 
 union SockAddr
 {
@@ -291,7 +292,11 @@ gnu::java::net::PlainDatagramSocketImpl::send (::java::net::DatagramPacket *p)
   // FIXME: Deal with Multicast and if the socket is connected.
   jint rport = p->getPort();
   union SockAddr u;
-  jbyteArray haddress = p->getAddress()->addr;
+  ::java::net::InetAddress *host = p->getAddress();
+  if (! host)
+    throw new ::java::net::UnknownHostException(p->toString());
+
+  jbyteArray haddress = host->addr;
   jbyte *bytes = elements (haddress);
   int len = haddress->length;
   struct sockaddr *ptr = (struct sockaddr *) &u.address;
index be9437c..28707db 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2005  Free Software Foundation
+/* Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -51,6 +51,7 @@ details.  */
 #include <java/lang/NullPointerException.h>
 #include <java/lang/ArrayIndexOutOfBoundsException.h>
 #include <java/lang/IllegalArgumentException.h>
+#include <java/net/UnknownHostException.h>
 
 union SockAddr
 {
@@ -136,10 +137,13 @@ gnu::java::net::PlainSocketImpl::bind (::java::net::InetAddress *host, jint lpor
 
 void
 gnu::java::net::PlainSocketImpl::connect (::java::net::SocketAddress *addr,
-                                     jint timeout)
+                                         jint timeout)
 {
   ::java::net::InetSocketAddress *tmp = (::java::net::InetSocketAddress*) addr;
   ::java::net::InetAddress *host = tmp->getAddress();
+  if (! host)
+    throw new ::java::net::UnknownHostException(tmp->toString());
+
   jint rport = tmp->getPort();
        
   // Set the SocketImpl's address and port fields before we try to