• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package kotlinx.atomicfu.test
2 
equalsAtnull3 private 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 
findStringnull11 fun 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