fixed up the telnet to work (using support from Linus Nielsen)

This commit is contained in:
Daniel Stenberg 2001-01-31 15:05:44 +00:00
Родитель c41c5a0ef2
Коммит a14aaaf23f
2 изменённых файлов: 17 добавлений и 9 удалений

Просмотреть файл

@ -872,7 +872,7 @@ CURLcode Curl_telnet(struct connectdata *conn)
} }
} }
if(FD_ISSET(sockfd, &readfd)) if(FD_ISSET(sockfd, &readfd)) {
Curl_read(conn, sockfd, buf, BUFSIZE - 1, &nread); Curl_read(conn, sockfd, buf, BUFSIZE - 1, &nread);
/* if we receive 0 or less here, the server closed the connection and /* if we receive 0 or less here, the server closed the connection and
@ -885,7 +885,9 @@ CURLcode Curl_telnet(struct connectdata *conn)
telrcv(data, (unsigned char *)buf, nread); telrcv(data, (unsigned char *)buf, nread);
} }
} }
return CURLE_OK; }
/* mark this as "no further transfer wanted" */
return Curl_Transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
} }

Просмотреть файл

@ -161,6 +161,12 @@ _Transfer(struct connectdata *c_conn)
Curl_pgrsTime(data, TIMER_PRETRANSFER); Curl_pgrsTime(data, TIMER_PRETRANSFER);
Curl_speedinit(data); Curl_speedinit(data);
if((conn->sockfd == -1) &&
(conn->writesockfd == -1)) {
/* nothing to read, nothing to write, we're already OK! */
return CURLE_OK;
}
if (!conn->getheader) { if (!conn->getheader) {
header = FALSE; header = FALSE;
if(conn->size > 0) if(conn->size > 0)