imap: Updated setting of transfer variables in imap_state_fetch_resp()
authorJiri Hruska <jirka@fud.cz>
Fri, 1 Mar 2013 18:38:27 +0000 (19:38 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Sat, 2 Mar 2013 18:37:56 +0000 (18:37 +0000)
Add number of bytes retrieved from the PP cache to req.bytecount and set
req.maxdownload only when starting a proper download.

lib/imap.c

index 8b00b21..dcc6d6b 100644 (file)
@@ -1294,6 +1294,7 @@ static CURLcode imap_state_fetch_resp(struct connectdata *conn, int imapcode,
       if(result)
         return result;
 
+      data->req.bytecount += chunk;
       size -= chunk;
 
       infof(data, "Written %" FORMAT_OFF_TU " bytes, %" FORMAT_OFF_TU
@@ -1317,11 +1318,11 @@ static CURLcode imap_state_fetch_resp(struct connectdata *conn, int imapcode,
     if(!size)
       /* The entire data is already transferred! */
       Curl_setup_transfer(conn, -1, -1, FALSE, NULL, -1, NULL);
-    else
+    else {
       /* IMAP download */
+      data->req.maxdownload = size;
       Curl_setup_transfer(conn, FIRSTSOCKET, size, FALSE, NULL, -1, NULL);
-
-    data->req.maxdownload = size;
+    }
   }
   else {
     /* We don't know how to parse this line */