From 4b4ea7b1e75b6c745a8be10a416960b70076ede9 Mon Sep 17 00:00:00 2001 From: bemusementpark Date: Tue, 8 Oct 2024 13:45:04 +1030 Subject: [PATCH] Simplify ipv4Int --- .../thoughtcrime/securesms/util/IP2Country.kt | 23 ++----------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/IP2Country.kt b/app/src/main/java/org/thoughtcrime/securesms/util/IP2Country.kt index 0700a862fd..7e42ec9bdd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/IP2Country.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/IP2Country.kt @@ -14,27 +14,8 @@ import java.io.InputStream import java.io.InputStreamReader import java.util.TreeMap -private fun ipv4Int(ip: String): UInt { - var result = 0L - var currentValue = 0L - var octetIndex = 0 - - for (char in ip) { - if (char == '.' || char == '/') { - result = result or (currentValue shl (8 * (3 - octetIndex))) - currentValue = 0 - octetIndex++ - if (char == '/') break - } else { - currentValue = currentValue * 10 + (char - '0') - } - } - - // Handle the last octet - result = result or (currentValue shl (8 * (3 - octetIndex))) - - return result.toUInt() -} +private fun ipv4Int(ip: String): UInt = + ip.split(".", "/", ",").take(4).fold(0U) { acc, s -> acc shl 8 or s.toUInt() } class IP2Country internal constructor( private val context: Context,