From 03f19a77148fb466765ad89510e8b1cd0a747a7d Mon Sep 17 00:00:00 2001 From: Edoardo La Greca Date: Fri, 20 Jun 2025 01:19:20 +0200 Subject: use only one field for addresses in IPAddress --- src/main/kotlin/IPAddress.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/main/kotlin/IPAddress.kt b/src/main/kotlin/IPAddress.kt index 206a8b6..4d3967d 100644 --- a/src/main/kotlin/IPAddress.kt +++ b/src/main/kotlin/IPAddress.kt @@ -2,8 +2,7 @@ * An IP address (v4 or v6). */ class IPAddress { - private var address4: Array = Array(4) { 0 } - private var address6: Array = Array(16) { 0 } + private var address: Array private var is4: Boolean /** @@ -16,23 +15,23 @@ class IPAddress { if (split4.size == 4) { bytes = split4.map { it.toByte() } - this.address4 = bytes.toTypedArray() this.is4 = true } else if (split6.size == 16) { bytes = split4.map { it.toByte(16) } - this.address6 = bytes.toTypedArray() this.is4 = false } else { throw NumberFormatException() } + + this.address = bytes.toTypedArray() } override fun toString(): String { val str: String if (this.is4) { - str = address4.joinToString(separator = ".") { it.toString() } + str = this.address.joinToString(separator = ".") { it.toString() } } else { - str = address6.joinToString(separator = ":") { it.toString() } + str = this.address.joinToString(separator = ":") { it.toString() } } return str } -- cgit v1.2.3