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