diff options
author | Edoardo La Greca | 2025-06-20 01:19:20 +0200 |
---|---|---|
committer | Edoardo La Greca | 2025-06-20 01:19:20 +0200 |
commit | 03f19a77148fb466765ad89510e8b1cd0a747a7d (patch) | |
tree | cc5f7ffcadc901b699dacabbcbbf5e817339b095 /src | |
parent | f30f7d91e8491537796980f2e78e5d99212353c0 (diff) |
use only one field for addresses in IPAddress
Diffstat (limited to 'src')
-rw-r--r-- | src/main/kotlin/IPAddress.kt | 11 |
1 files changed, 5 insertions, 6 deletions
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<Byte> = Array(4) { 0 } - private var address6: Array<Byte> = Array(16) { 0 } + private var address: Array<Byte> 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 } |