diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f475b05b335..5153b6c4515 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2004-11-18 Mattias Rehnberg + + * java/net/Inet6Address.java (getHostAddress): Fix textual + representation of IPv6 address with embedded zeroes + to conform to RFC 2373. + 2004-11-18 Jeroen Frijters * java/lang/StackTraceElement.java: Made final. diff --git a/libjava/java/net/Inet6Address.java b/libjava/java/net/Inet6Address.java index e0329d5214c..0c1d60e8edf 100644 --- a/libjava/java/net/Inet6Address.java +++ b/libjava/java/net/Inet6Address.java @@ -207,18 +207,11 @@ public final class Inet6Address extends InetAddress for (int i = 0; i < 16; i += 2) { int x = ((ipaddress[i] & 0xFF) << 8) | (ipaddress[i + 1] & 0xFF); - boolean empty = sbuf.length() == 0; - if (empty) - { - if (i > 0) - sbuf.append("::"); - } - else + if (i > 0) sbuf.append(':'); - if (x != 0 || i >= 14) - sbuf.append(Integer.toHexString(x)); + sbuf.append(Integer.toHexString(x)); } return sbuf.toString();