ref: 7f4fa088626c24ac74cdfccab82a3d588ef34be6
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)
}