ref: 19d7fac9e6210af527ee1e72de4878d3951c41f6
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 }