blob: 322ebb0896aaf26ae32c6e5abf0227b05529d406 [file] [log] [blame]
package kotlinx.atomicfu.test
private fun ByteArray.equalsAt(i: Int, bs: ByteArray): Boolean {
if (i + bs.size >= size) return false
for (k in bs.indices) {
if (this[i + k] != bs[k]) return false
}
return true
}
fun ByteArray.findString(strings: List<String>): FindResult? {
for (ss in strings) {
val bs = ss.toByteArray()
for (i in indices) {
if (equalsAt(i, bs)) return FindResult(ss, i)
}
}
return null
}
class FindResult(val string: String, val offset: Int) {
override fun toString(): String = "Found string '$string' at offset 0x${offset.toString(16)}"
}