ref: 515b8e89c1a6c0859eaefbf7835a4e6497a57e0b
dir: /libstd/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 }