From: Robert Varga Date: Thu, 25 Feb 2016 01:57:03 +0000 (+0100) Subject: BUG-2825: do not instatiate temporary array X-Git-Tag: release/boron~189 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=c04fa5603462c8376746fdf98f13283c713cc90b;p=mdsal.git BUG-2825: do not instatiate temporary array Change-Id: I1450116d13f9381d04c01f6a4b4f46a1b840cd9e Signed-off-by: Robert Varga --- diff --git a/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/Ipv6Utils.java b/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/Ipv6Utils.java index 9a26ad4535..4fdedf44a8 100644 --- a/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/Ipv6Utils.java +++ b/model/ietf/ietf-type-util/src/main/java/org/opendaylight/mdsal/model/ietf/util/Ipv6Utils.java @@ -68,25 +68,23 @@ final class Ipv6Utils { // FIXME: do not perform a copy, just set the limit here. final String address = percentPos == -1 ? ipv6Address : ipv6Address.substring(0, percentPos); - // FIXME: fixme: use address.charAt() instead - char[] src = address.toCharArray(); - /* Leading :: requires some special handling. */ int i = 0; - if (src[i] == ':') { - Preconditions.checkArgument(src[++i] == ':', "Invalid v6 address '%s'", ipv6Address); + if (address.charAt(i) == ':') { + // Note ++i side-effect in check + Preconditions.checkArgument(address.charAt(++i) == ':', "Invalid v6 address '%s'", ipv6Address); } final byte[] dst = new byte[INADDR6SZ]; - final int src_length = src.length; + final int src_length = address.length(); boolean saw_xdigit = false; int val = 0; int colonp = -1; int j = 0; int curtok = i; while (i < src_length) { - final char ch = src[i++]; + final char ch = address.charAt(i++); /* v6 separator */ if (ch == ':') {