comparison lib/protocols.c @ 248:16a967a4d003

2003-8-7 Brian Masney <masneyb@gftp.org> * lib/protocols.c (gftp_fd_write) - use a signed variable to store the result from write(). Write errors were not being caught properly.
author masneyb
date Fri, 08 Aug 2003 01:38:12 +0000
parents 41af60bc1f88
children 094e83b55cb1
comparison
equal deleted inserted replaced
247:f41650dc896c 248:16a967a4d003
2162 ssize_t 2162 ssize_t
2163 gftp_fd_write (gftp_request * request, const char *ptr, size_t size, int fd) 2163 gftp_fd_write (gftp_request * request, const char *ptr, size_t size, int fd)
2164 { 2164 {
2165 long network_timeout; 2165 long network_timeout;
2166 struct timeval tv; 2166 struct timeval tv;
2167 size_t ret, w_ret; 2167 ssize_t w_ret;
2168 fd_set fset; 2168 fd_set fset;
2169 size_t ret;
2169 2170
2170 gftp_lookup_request_option (request, "network_timeout", &network_timeout); 2171 gftp_lookup_request_option (request, "network_timeout", &network_timeout);
2171 2172
2172 errno = 0; 2173 errno = 0;
2173 ret = 0; 2174 ret = 0;
2195 gftp_disconnect (request); 2196 gftp_disconnect (request);
2196 } 2197 }
2197 return (GFTP_ERETRYABLE); 2198 return (GFTP_ERETRYABLE);
2198 } 2199 }
2199 2200
2200 if ((w_ret = write (fd, ptr, size)) < 0) 2201 w_ret = write (fd, ptr, size);
2202 if (w_ret < 0)
2201 { 2203 {
2202 if (errno == EINTR) 2204 if (errno == EINTR)
2203 { 2205 {
2204 if (request != NULL && request->cancel) 2206 if (request != NULL && request->cancel)
2205 break; 2207 break;