From a85e95f380b7bfdb16ce47dcdcc4598cb3d3febb Mon Sep 17 00:00:00 2001 From: sqyyy-jar <62748369+sqyyy-jar@users.noreply.github.com> Date: Tue, 15 Oct 2024 17:52:37 +0200 Subject: [PATCH] fix: stacked pings --- src/main/kotlin/io/zachbr/dis4irc/util/StringUtil.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/io/zachbr/dis4irc/util/StringUtil.kt b/src/main/kotlin/io/zachbr/dis4irc/util/StringUtil.kt index cc6a2f2..d023342 100644 --- a/src/main/kotlin/io/zachbr/dis4irc/util/StringUtil.kt +++ b/src/main/kotlin/io/zachbr/dis4irc/util/StringUtil.kt @@ -39,12 +39,16 @@ fun replaceTarget(base: CharSequence, target: String, replacement: CharSequence, return i == -1 || i == out.length || !requireSeparation || out[i].isWhitespace() } + fun isTarget(i: Int): Boolean { + return i > 0 && out[i - 1] == '<' + } + var start = out.indexOf(target, 0) while (start > -1) { val end = start + target.length val nextSearchStart = start + replacement.length - if (isWhiteSpace(start - 1) && isWhiteSpace(end)) { + if (isWhiteSpace(start - 1) && isWhiteSpace(end) && !isTarget(start)) { out = out.replaceRange(start, start + target.length, replacement) }