Revision c0958559 iov.c

b/iov.c
114 114
#else
115 115
    /* else send piece-by-piece */
116 116
    /*XXX Note: windows has WSASend() and WSARecv() */
117
    unsigned i;
118
    size_t count = 0;
119
    for (i = 0; i < iov_cnt; ++i) {
117
    unsigned i = 0;
118
    ssize_t ret = 0;
119
    while (i < iov_cnt) {
120 120
        ssize_t r = do_send
121 121
            ? send(sockfd, iov[i].iov_base, iov[i].iov_len, 0)
122 122
            : recv(sockfd, iov[i].iov_base, iov[i].iov_len, 0);
......
130 130
            /* else it is some "other" error,
131 131
             * only return if there was no data processed. */
132 132
            if (ret == 0) {
133
                return -1;
133
                ret = -1;
134 134
            }
135 135
            break;
136 136
        }
137
        i++;
137 138
    }
138
    return count;
139
    return ret;
139 140
#endif
140 141
}
141 142

  

Also available in: Unified diff