ref: 62a6dc43879c5eb846f0e918bd489e61d8401057
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 : intptr)
while (base + i : byte#)# != 0
i++
;;
-> p[:i]
}
const cstrlen = {buf
for var i = 0; i < buf.len; i++
if buf[i] == 0
-> i
;;
;;
-> 0
}