ref: c08505fb46fd8cdfee6b6f425709e5bc536f6a75
dir: /lib/std/cstrconv.myr/
use "types"
pkg std =
const cstrlen : (buf : byte[:] -> size)
const cstrconv : (buf : byte[:] -> byte[:])
const cstrconvp : (p : byte# -> byte[:])
;;
const cstrconv = {buf
for var i = 0; i < buf.len; i++
if buf[i] == 0
-> buf[:i]
;;
;;
-> buf
}
const cstrconvp = {p
var i, base
i = 0
base = p castto(intptr)
while ((base + i) castto(byte#))# != 0
i++
;;
-> p[:i]
}
const cstrlen = {buf
for var i = 0; i < buf.len; i++
if buf[i] == 0
-> i
;;
;;
-> 0
}