Commit b688d911ea128809ad2878060aa83eb1908330a0

Con Kolivas 2012-08-17T16:48:02

0 is a valid return value for read so only break out if read returns -1.

1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/fpgautils.c b/fpgautils.c
index a62b491..57bd7d5 100644
--- a/fpgautils.c
+++ b/fpgautils.c
@@ -252,7 +252,7 @@ _serial_read(int fd, char *buf, size_t bufsiz, char *eol)
 	ssize_t len, tlen = 0;
 	while (bufsiz) {
 		len = read(fd, buf, eol ? 1 : bufsiz);
-		if (len < 1)
+		if (unlikely(len == -1))
 			break;
 		tlen += len;
 		if (eol && *eol == buf[0])