begin abstraction process...

This commit is contained in:
Sterling Hughes 2001-08-15 06:52:42 +00:00
parent 5ce97dbf0a
commit 7994817185
1 changed files with 31 additions and 20 deletions

View File

@ -601,6 +601,34 @@ CURLcode Curl_ftp_done(struct connectdata *conn)
static CURLCode _ftp_sendquote(struct connectdata *conn, struct curl_slist *quote)
{
struct curl_slist *item;
ssize_t nread;
int ftpcode;
item = quote;
while (item) {
if (item->data) {
ftpsendf(conn->firstsocket, conn, "%", item->data);
nread = Curl_GetFTPResponse(conn->firstsocket,
conn->data->buffer, conn, &ftpcode);
if (nread < 0)
return CURLE_OPERATION_TIMEOUTED;
if (ftpcode >= 400) {
failf(conn->data, "QUOT string not accepted: %s", item->data);
return CURLE_FTP_QUOTE_ERROR;
}
}
ítem = item->next;
}
return CURLE_OK;
}
static static
CURLcode _ftp(struct connectdata *conn) CURLcode _ftp(struct connectdata *conn)
{ {
@ -630,27 +658,10 @@ CURLcode _ftp(struct connectdata *conn)
/* Send any QUOTE strings? */ /* Send any QUOTE strings? */
if(data->quote) { if(data->quote) {
qitem = data->quote; if ((result = _ftp_sendquote(conn, data->quote)) != CURLE_OK)
/* Send all QUOTE strings in same order as on command-line */ return result;
while (qitem) {
/* Send string */
if (qitem->data) {
ftpsendf(conn->firstsocket, conn, "%s", qitem->data);
nread = Curl_GetFTPResponse(conn->firstsocket, buf, conn, &ftpcode);
if(nread < 0)
return CURLE_OPERATION_TIMEOUTED;
if (ftpcode >= 400) {
failf(data, "QUOT string not accepted: %s",
qitem->data);
return CURLE_FTP_QUOTE_ERROR;
}
}
qitem = qitem->next;
}
} }
if(conn->bits.reuse) { if(conn->bits.reuse) {
/* This is a re-used connection. Since we change directory to where the /* This is a re-used connection. Since we change directory to where the
transfer is taking place, we must now get back to the original dir transfer is taking place, we must now get back to the original dir