ref: afee16c01916327f6cf229bb911e7166041063a2
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)
| `Ok n: src = src[n:]
| `Err e: -> `std.Err (sz, e)
;;
;;
-> `std.Ok sz
}