FD_ZERO(&r_fds);
FD_SET(fd, &r_fds);
- if (io_error_fd != -1) {
+ if (io_error_fd >= 0) {
FD_SET(io_error_fd, &r_fds);
if (io_error_fd >= fd_count) fd_count = io_error_fd+1;
}
- if (io_filesfrom_f_out != -1) {
+ if (io_filesfrom_f_out >= 0) {
int new_fd;
if (io_filesfrom_buflen == 0) {
- if (io_filesfrom_f_in != -1) {
+ if (io_filesfrom_f_in >= 0) {
FD_SET(io_filesfrom_f_in, &r_fds);
new_fd = io_filesfrom_f_in;
} else {
continue;
}
- if (io_error_fd != -1 && FD_ISSET(io_error_fd, &r_fds)) {
+ if (io_error_fd >= 0 && FD_ISSET(io_error_fd, &r_fds)) {
read_error_fd();
}
- if (io_filesfrom_f_out != -1) {
+ if (io_filesfrom_f_out >= 0) {
if (io_filesfrom_buflen) {
if (FD_ISSET(io_filesfrom_f_out, &w_fds)) {
int l = write(io_filesfrom_f_out,
io_filesfrom_f_out = -1;
}
}
- } else if (io_filesfrom_f_in != -1) {
+ } else if (io_filesfrom_f_in >= 0) {
if (FD_ISSET(io_filesfrom_f_in, &r_fds)) {
int l = read(io_filesfrom_f_in,
io_filesfrom_buf,
} else if (n == 0) {
whine_about_eof();
return -1; /* doesn't return */
- } else if (n == -1) {
+ } else if (n < 0) {
if (errno == EINTR || errno == EWOULDBLOCK ||
errno == EAGAIN)
continue;
FD_SET(fd,&w_fds);
fd_count = fd;
- if (io_error_fd != -1) {
+ if (io_error_fd >= 0) {
FD_ZERO(&r_fds);
FD_SET(io_error_fd,&r_fds);
if (io_error_fd > fd_count)
errno = 0;
count = select(fd_count+1,
- io_error_fd != -1?&r_fds:NULL,
+ io_error_fd >= 0?&r_fds:NULL,
&w_fds,NULL,
&tv);
continue;
}
- if (io_error_fd != -1 && FD_ISSET(io_error_fd, &r_fds)) {
+ if (io_error_fd >= 0 && FD_ISSET(io_error_fd, &r_fds)) {
read_error_fd();
}
size_t n = len-total;
ret = write(fd,buf+total,n);
- if (ret == -1 && errno == EINTR) {
- continue;
- }
-
- if (ret == -1 &&
- (errno == EWOULDBLOCK || errno == EAGAIN)) {
- msleep(1);
- continue;
+ if (ret < 0) {
+ if (errno == EINTR)
+ continue;
+ if (errno == EWOULDBLOCK || errno == EAGAIN) {
+ msleep(1);
+ continue;
+ }
}
if (ret <= 0) {