ref: 92840bc1ade4d670ce1b6cd3dc7be48b16148a5e
dir: /lib/std/readall.myr/
use "errno"
use "result"
use "option"
use "syswrap"
use "types"
pkg std =
const readall : (fd : fd, dst : byte[:] -> result(size, errno))
;;
const readall = {fd, dst
var sz
sz = dst.len
while dst.len != 0
match std.read(fd, dst)
| `Ok 0:
break
| `Ok n:
dst = dst[n:]
| `Err e:
-> `Err e
;;
;;
-> `Ok (sz - dst.len)
}