if (tmp > 0) {
count -= tmp;
if (count)
- buf = (void *) ((char *) buf + tmp);
+ buf = (const void *) ((const char *) buf + tmp);
} else if (errno != EINTR && errno != EAGAIN)
return -1;
if (errno == EAGAIN) /* Try later, *sigh* */
if (tmp > 0) {
nmemb -= tmp;
if (nmemb)
- ptr = (void *) ((char *) ptr + (tmp * size));
+ ptr = (const void *) ((const char *) ptr + (tmp * size));
} else if (errno != EINTR && errno != EAGAIN)
return -1;
if (errno == EAGAIN) /* Try later, *sigh* */
while (count > 0) {
ret = read(fd, buf, count);
if (ret <= 0) {
- if ((errno == EAGAIN || errno == EINTR || ret == 0) &&
- (tries++ < 5)) {
+ if (ret < 0 && (errno == EAGAIN || errno == EINTR) && (tries++ < 5)) {
xusleep(250000);
continue;
}
return c ? c : -1;
}
- if (ret > 0)
- tries = 0;
+ tries = 0;
count -= ret;
buf += ret;
c += ret;
return c;
}
-
#endif /* UTIL_LINUX_ALL_IO_H */