shithub: mc

Download patch

ref: 3ad6de400298bee4689c038f72342434396d64da
parent: 4a8f78d53d61423fdeb6c59881661d6cd5cbd430
author: Ori Bernstein <[email protected]>
date: Mon Sep 29 09:55:12 EDT 2014

Only succeed blatting if we write the whole buffer.

    Writing without error isn't quite the right condition.

--- a/libstd/blat.myr
+++ b/libstd/blat.myr
@@ -23,11 +23,13 @@
 	n = 0
 	while true
 		written = write(fd, buf[n:])
-		if written <= 0
+		if written == 0
 			goto done
+		elif written < 0
+			goto fail
 		;;
 		n += written
 	;;
 :done
-	-> written == 0
+	-> written == 0 && n == buf.len
 }