ref: 76086513de9efd7a000d0bc229c3e990f0af5a2f
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 }