1 package kotlinx.atomicfu.test 2 equalsAtnull3private fun ByteArray.equalsAt(i: Int, bs: ByteArray): Boolean { 4 if (i + bs.size >= size) return false 5 for (k in bs.indices) { 6 if (this[i + k] != bs[k]) return false 7 } 8 return true 9 } 10 findStringnull11fun ByteArray.findString(strings: List<String>): FindResult? { 12 for (ss in strings) { 13 val bs = ss.toByteArray() 14 for (i in indices) { 15 if (equalsAt(i, bs)) return FindResult(ss, i) 16 } 17 } 18 return null 19 } 20 21 class FindResult(val string: String, val offset: Int) { toStringnull22 override fun toString(): String = "Found string '$string' at offset 0x${offset.toString(16)}" 23 } 24