diff --git a/lib/ftp.c b/lib/ftp.c index e3e630d62..47bdcb751 100644 --- a/lib/ftp.c +++ b/lib/ftp.c @@ -235,11 +235,11 @@ int Curl_GetFTPResponse(char *buf, keepon=TRUE; while((nreadcache) { + readfd = rkeepfd; /* set every lap */ + interval.tv_sec = timeout; + interval.tv_usec = 0; - if(!ftp->cache) switch (select (sockfd+1, &readfd, NULL, NULL, &interval)) { case -1: /* select() error, stop reading */ error = SELECT_ERROR; @@ -253,6 +253,7 @@ int Curl_GetFTPResponse(char *buf, error = SELECT_OK; break; } + } if(SELECT_OK == error) { /* * This code previously didn't use the kerberos sec_read() code