util.c
changeset 30 2e0fb4130bfb
parent 16 359b6e563b95
child 32 082c75b937b5
--- a/util.c	Wed Jul 12 17:17:15 2006 +0200
+++ b/util.c	Wed Jul 12 17:50:31 2006 +0200
@@ -126,13 +126,14 @@
 		perror(" failed");
 	}
 	else {
-		n = 0;
+		l = n = 0;
 		close(pfd[1]);
-		while(l > n) {
+		while(n < len) {
 			if((l = read(pfd[0], buf + n, len - n)) < 1)
 				break;
 			n += l;
 		}
+		while(l > n);
 		close(pfd[0]);
 		buf[n < len ? n : len - 1] = 0;
 	}