From: Steve Holme Date: Mon, 29 Apr 2013 21:25:12 +0000 (+0100) Subject: smtp: Fixed unknown percentage complete in progress bar X-Git-Tag: curl-7_31_0~86 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b52cf5d2cd9f65e1615fcfcbd35187843ea6abc5;p=thirdparty%2Fcurl.git smtp: Fixed unknown percentage complete in progress bar The curl command line utility would display the the completed progress bar with a percentage of zero as the progress routines didn't know the size of the transfer. --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 799b297351..53b41c88af 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -37,6 +37,7 @@ This release includes the following bugfixes: o sshserver: disable StrictHostKeyChecking o ftpserver: Fixed imap logout confirmation data o curl_easy_init: use less mallocs + o smtp: Fixed unknown percentage complete in progress bar o This release includes the following known bugs: diff --git a/lib/smtp.c b/lib/smtp.c index 72a6135ffd..9d304850c9 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -589,7 +589,7 @@ static CURLcode smtp_perform_mail(struct connectdata *conn) } } - /* calculate the optional SIZE parameter */ + /* Calculate the optional SIZE parameter */ if(conn->proto.smtpc.size_supported && conn->data->set.infilesize > 0) { size = aprintf("%" FORMAT_OFF_T, data->set.infilesize); @@ -1172,6 +1172,8 @@ static CURLcode smtp_state_rcpt_resp(struct connectdata *conn, int smtpcode, static CURLcode smtp_state_data_resp(struct connectdata *conn, int smtpcode, smtpstate instate) { + struct SessionHandle *data = conn->data; + (void)instate; /* no use for this yet */ if(smtpcode != 354) { @@ -1179,6 +1181,9 @@ static CURLcode smtp_state_data_resp(struct connectdata *conn, int smtpcode, return CURLE_SEND_ERROR; } + /* Set the progress upload size */ + Curl_pgrsSetUploadSize(data, data->set.infilesize); + /* SMTP upload */ Curl_setup_transfer(conn, -1, -1, FALSE, NULL, FIRSTSOCKET, NULL);