Commit 7b23eff9 authored by Gisle Vanem's avatar Gisle Vanem
Browse files

Preserve previous status in Curl_http_done().

parent 67ff8e3e
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -1274,7 +1274,6 @@ CURLcode Curl_http_done(struct connectdata *conn,
{
{
  struct SessionHandle *data;
  struct SessionHandle *data;
  struct HTTP *http;
  struct HTTP *http;
  (void)status; /* no use for us */


  data=conn->data;
  data=conn->data;
  http=conn->proto.http;
  http=conn->proto.http;
@@ -1291,7 +1290,7 @@ CURLcode Curl_http_done(struct connectdata *conn,


    free(buff->buffer);
    free(buff->buffer);
    free(buff);
    free(buff);
    http->send_buffer = NULL; /* cleaer the pointer */
    http->send_buffer = NULL; /* clear the pointer */
  }
  }


  if(HTTPREQ_POST_FORM == data->set.httpreq) {
  if(HTTPREQ_POST_FORM == data->set.httpreq) {
@@ -1307,6 +1306,9 @@ CURLcode Curl_http_done(struct connectdata *conn,
  else if(HTTPREQ_PUT == data->set.httpreq)
  else if(HTTPREQ_PUT == data->set.httpreq)
    conn->bytecount = http->readbytecount + http->writebytecount;
    conn->bytecount = http->readbytecount + http->writebytecount;


  if (status != CURLE_OK)
    return (status);

  if(!conn->bits.retry &&
  if(!conn->bits.retry &&
     ((http->readbytecount +
     ((http->readbytecount +
       conn->headerbytecount -
       conn->headerbytecount -