From b52cf5d2cd9f65e1615fcfcbd35187843ea6abc5 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Mon, 29 Apr 2013 22:25:12 +0100 Subject: 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. --- lib/smtp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/smtp.c b/lib/smtp.c index 72a6135ff..9d304850c 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); -- cgit v1.2.3