ref: a843f825632bd19e34a81bccf9b8a015a0196586
dir: /lib/std/blat.myr/
use "syswrap.use" pkg std = const blat : (path : byte[:], buf : byte[:], perm : int64 -> bool) const fblat : (f : fd, buf : byte[:] -> bool) ;; const blat = {path, buf, perm var fd fd = openmode(path, Ocreat|Owronly, perm) if fd < 0 -> false ;; -> fblat(fd, buf) } const fblat = {fd, buf var written, n n = 0 while true written = write(fd, buf[n:]) if written <= 0 goto done ;; n += written ;; :done -> written == 0 && n == buf.len }