diff mbox series

Fix download progress debug message

Message ID CAJMWnCiB48TNMKjwYm0ZH4wHbfzRmyfV5-QUA3tc2GT_pxdHyQ@mail.gmail.com
State Changes Requested
Headers show
Series Fix download progress debug message | expand

Commit Message

João Loureiro Feb. 18, 2022, 1:31 p.m. UTC
Convert download statistics to unsigned long long before division, to
avoid data loss and wrong progress report.

Before:
[DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
Downloaded 1% (1 of 880 kB).
[DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
Downloaded 2% (1 of 1744 kB).
[DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
Downloaded 3% (1 of 2608 kB).

After
[DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
Downloaded 1% (880 of 86760 kB)
[DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
Downloaded 2% (1744 of 86760 kB)
[DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
Downloaded 3% (2608 of 86760 kB)

Signed-off-by: João Loureiro <joaofl@gmail.com>
---
corelib/channel_curl.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Stefano Babic Feb. 18, 2022, 1:50 p.m. UTC | #1
Hi João,

On 18.02.22 14:31, João Loureiro wrote:
> Convert download statistics to unsigned long long before division, to
> avoid data loss and wrong progress report.
> 
> Before:
> [DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
> Downloaded 1% (1 of 880 kB).
> [DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
> Downloaded 2% (1 of 1744 kB).
> [DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
> Downloaded 3% (1 of 2608 kB).
> 
> After
> [DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
> Downloaded 1% (880 of 86760 kB)
> [DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
> Downloaded 2% (1744 of 86760 kB)
> [DEBUG ] : SWUPDATE running :  [channel_callback_xferinfo] :
> Downloaded 3% (2608 of 86760 kB)
> 
> Signed-off-by: João Loureiro <joaofl@gmail.com>
> ---
> corelib/channel_curl.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/corelib/channel_curl.c b/corelib/channel_curl.c
> index 3ee801f..63d7249 100644
> --- a/corelib/channel_curl.c
> +++ b/corelib/channel_curl.c
> @@ -439,7 +439,9 @@ static int channel_callback_xferinfo(void *p,
> curl_off_t dltotal, curl_off_t dln
> else
> data->percent = percent;
> - DEBUG("Downloaded %d%% (%lu of %lu kB).", percent, dlnow / 1024,
> dltotal / 1024);
> + DEBUG("Downloaded %d%% (%lu of %lu kB).", percent,
> + (unsigned long)dlnow / 1024,
> + (unsigned long)dltotal / 1024);
> swupdate_download_update(percent, dltotal);
> return 0;

What about to cast to size_t instead ?

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/corelib/channel_curl.c b/corelib/channel_curl.c
index 3ee801f..63d7249 100644
--- a/corelib/channel_curl.c
+++ b/corelib/channel_curl.c
@@ -439,7 +439,9 @@  static int channel_callback_xferinfo(void *p,
curl_off_t dltotal, curl_off_t dln
else
data->percent = percent;
- DEBUG("Downloaded %d%% (%lu of %lu kB).", percent, dlnow / 1024,
dltotal / 1024);
+ DEBUG("Downloaded %d%% (%lu of %lu kB).", percent,
+ (unsigned long)dlnow / 1024,
+ (unsigned long)dltotal / 1024);
swupdate_download_update(percent, dltotal);
return 0;