3 ssize_t FullRead(int fd, void *buf, size_t count)
9 while (nleft > 0) { /* repeat until no left */
10 if ( (nread = read(fd, buf, nleft)) < 0) {
11 if (errno == EINTR) { /* if interrupted by system call */
12 continue; /* repeat the loop */
14 return(nread); /* otherwise exit */
16 } else if (nread == 0) { /* EOF */
17 break; /* break loop here */
19 nleft -= nread; /* set left to read */
20 buf +=nread; /* set pointer */