summaryrefslogtreecommitdiffstats
path: root/libjava/java/net/natInetAddress.cc
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-18 01:17:28 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>1999-06-18 01:17:28 +0000
commit7149c543a76f19c25bc9b9db8c6954ec01d6fcac (patch)
tree25da556759007bd4b9d5438cb57b5f3494a657b0 /libjava/java/net/natInetAddress.cc
parent5a30ea5ab825fae8166ee5152dac06bcbb020d8f (diff)
downloadppe42-gcc-7149c543a76f19c25bc9b9db8c6954ec01d6fcac.tar.gz
ppe42-gcc-7149c543a76f19c25bc9b9db8c6954ec01d6fcac.zip
* java/net/natInetAddress.cc (lookup): Preserve caller-supplied
hostname in returned InetAddress objects. (getLocalHostname): Fix typo. * java/net/InetAddress.java (getByName): Set hostname on return object. (getLocalHost): Call lookup directly to ensure that a fully-qualified name is returned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27587 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/net/natInetAddress.cc')
-rw-r--r--libjava/java/net/natInetAddress.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/libjava/java/net/natInetAddress.cc b/libjava/java/net/natInetAddress.cc
index 8da9102815a..feac469f379 100644
--- a/libjava/java/net/natInetAddress.cc
+++ b/libjava/java/net/natInetAddress.cc
@@ -199,8 +199,8 @@ java::net::InetAddress::lookup (jstring host, java::net::InetAddress* iaddr,
#endif /* HAVE_GETHOSTBYADDR_R */
}
if (hptr != NULL)
- {
- if (host == NULL)
+ {
+ if (!all)
host = JvNewStringUTF (hptr->h_name);
java::lang::SecurityException *ex = checkConnect (host);
if (ex != NULL)
@@ -246,7 +246,8 @@ java::net::InetAddress::lookup (jstring host, java::net::InetAddress* iaddr,
{
if (iaddrs[i] == NULL)
iaddrs[i] = new java::net::InetAddress (NULL, NULL);
- iaddrs[i]->hostname = host;
+ if (iaddrs[i]->hostname == NULL)
+ iaddrs[i]->hostname = host;
if (iaddrs[i]->address == NULL)
{
char *bytes = hptr->h_addr_list[i];
@@ -269,7 +270,7 @@ java::net::InetAddress::getLocalHostname ()
#elif HAVE_UNAME
struct utsname stuff;
if (uname (&stuff) != 0)
- return NULL:
+ return NULL;
chars = stuff.nodename;
#else
return NULL;
OpenPOWER on IntegriCloud