From c04fa5603462c8376746fdf98f13283c713cc90b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 25 Feb 2016 02:57:03 +0100 Subject: [PATCH 1/1] BUG-2825: do not instatiate temporary array Change-Id: I1450116d13f9381d04c01f6a4b4f46a1b840cd9e Signed-off-by: Robert Varga --- .../mdsal/model/ietf/util/Ipv6Utils.java | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) 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 == ':') { -- 2.36.6