aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorBryce McKinlay <bryce@albatross.co.nz>1999-06-18 01:17:28 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>1999-06-18 02:17:28 +0100
commite0cb3930caad81618f19381e352858163b4ff360 (patch)
tree25da556759007bd4b9d5438cb57b5f3494a657b0 /libjava
parent9ddab891df120133507c69572ce5d8c71dc15322 (diff)
downloadgcc-e0cb3930caad81618f19381e352858163b4ff360.zip
gcc-e0cb3930caad81618f19381e352858163b4ff360.tar.gz
gcc-e0cb3930caad81618f19381e352858163b4ff360.tar.bz2
natInetAddress.cc (lookup): Preserve caller-supplied hostname in returned InetAddress objects.
* 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. From-SVN: r27587
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog10
-rw-r--r--libjava/java/net/InetAddress.java5
-rw-r--r--libjava/java/net/natInetAddress.cc9
3 files changed, 18 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 64d7363..274760d 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,13 @@
+1999-06-18 Bryce McKinlay <bryce@albatross.co.nz>
+
+ * 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.
+
1999-06-17 Bryce McKinlay <bryce@albatross.co.nz>
* java/net/natPlainSocketImpl.cc (bind): Bind to any/all network
diff --git a/libjava/java/net/InetAddress.java b/libjava/java/net/InetAddress.java
index baf5153e..6bd0699 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 8da9102..feac469 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;