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