diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-06-18 01:17:28 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-06-18 01:17:28 +0000 |
commit | 7149c543a76f19c25bc9b9db8c6954ec01d6fcac (patch) | |
tree | 25da556759007bd4b9d5438cb57b5f3494a657b0 /libjava/java | |
parent | 5a30ea5ab825fae8166ee5152dac06bcbb020d8f (diff) | |
download | gcc-7149c543a76f19c25bc9b9db8c6954ec01d6fcac.tar.gz |
* 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')
-rw-r--r-- | libjava/java/net/InetAddress.java | 5 | ||||
-rw-r--r-- | libjava/java/net/natInetAddress.cc | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/libjava/java/net/InetAddress.java b/libjava/java/net/InetAddress.java index baf5153e933..6bd06993f76 100644 --- a/libjava/java/net/InetAddress.java +++ b/libjava/java/net/InetAddress.java @@ -177,7 +177,7 @@ public final class InetAddress byte[] address = aton(host); if (address != null) return new InetAddress(address, null); - InetAddress iaddr = new InetAddress(null, null); + InetAddress iaddr = new InetAddress(null, host); lookup(host, iaddr, false); return iaddr; } @@ -243,7 +243,8 @@ public final class InetAddress { try { - localhost = getByName(hostname); + localhost = new InetAddress(null, null); + lookup(hostname, localhost, false); } catch (Exception ex) { 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; |