FILE: Fixed sending of data would always return CURLE_WRITE_ERROR

Introduced in commit 2a4ee0d221 sending of data via the FILE
protocol would always return CURLE_WRITE_ERROR regardless of whether
CURL_WRITEFUNC_PAUSE was returned from the callback function or not.
This commit is contained in:
Steve Holme 2013-12-27 10:55:01 +00:00
parent 2a4ee0d221
commit f2d234a4dd

View File

@ -444,17 +444,17 @@ CURLcode Curl_client_write(struct connectdata *conn,
wrote = len; wrote = len;
} }
if(conn->handler->flags & PROTOPT_NONETWORK) { if(CURL_WRITEFUNC_PAUSE == wrote) {
/* protocols that work without network cannot be paused. This is if(conn->handler->flags & PROTOPT_NONETWORK) {
actually only FILE:// just now, and it can't pause since the transfer /* protocols that work without network cannot be paused. This is
isn't done using the "normal" procedure. */ actually only FILE:// just now, and it can't pause since the transfer
failf(data, "Write callback asked for PAUSE when not supported!"); isn't done using the "normal" procedure. */
return CURLE_WRITE_ERROR; failf(data, "Write callback asked for PAUSE when not supported!");
return CURLE_WRITE_ERROR;
}
else
return pausewrite(data, type, ptr, len);
} }
else if(CURL_WRITEFUNC_PAUSE == wrote)
return pausewrite(data, type, ptr, len);
else if(wrote != len) { else if(wrote != len) {
failf(data, "Failed writing body (%zu != %zu)", wrote, len); failf(data, "Failed writing body (%zu != %zu)", wrote, len);
return CURLE_WRITE_ERROR; return CURLE_WRITE_ERROR;