Files
shell.kt/src/nativeMain/kotlin/com.infendro.shell/C.kt
2026-02-16 17:53:50 +01:00

18 lines
460 B
Kotlin

package com.infendro.shell
import kotlinx.cinterop.CPointer
import kotlinx.cinterop.refTo
import kotlinx.cinterop.toKString
import platform.posix.FILE
import platform.posix.fgets
internal fun CPointer<FILE>.readLines(): List<String> {
val lines = mutableListOf<String>()
val buffer = ByteArray(4096)
while (true) {
val line = fgets(buffer.refTo(0), buffer.size, this) ?: break
lines.add(line.toKString())
}
return lines
}