Fix download progress rounding edge case
Allan's original message: Occasionally when the download rate showed 100.0 the output got messed up. This was caused by the rounding of a number between 99.95 and 100. Adjust the threshold to avoid this rounding issue. Dan: make this fix, but also show values between 0 and 9.995 with two decimal places since we have the room. Original-fix-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
1953fe4368
commit
601c808b8d
1 changed files with 5 additions and 2 deletions
|
@ -697,8 +697,11 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total)
|
||||||
xfered_human = humanize_size(xfered, '\0', &xfered_label);
|
xfered_human = humanize_size(xfered, '\0', &xfered_label);
|
||||||
|
|
||||||
printf(" %ls%-*s ", wcfname, padwid, "");
|
printf(" %ls%-*s ", wcfname, padwid, "");
|
||||||
/* We will show 1.6M/s, 11.6M/s, but 116K/s and 1116K/s */
|
/* We will show 1.62M/s, 11.6M/s, but 116K/s and 1116K/s */
|
||||||
if(rate_human < 100.0) {
|
if(rate_human < 9.995) {
|
||||||
|
printf("%6.1f %3s %4.2f%c/s ",
|
||||||
|
xfered_human, xfered_label, rate_human, rate_label[0]);
|
||||||
|
} else if(rate_human < 99.95) {
|
||||||
printf("%6.1f %3s %4.1f%c/s ",
|
printf("%6.1f %3s %4.1f%c/s ",
|
||||||
xfered_human, xfered_label, rate_human, rate_label[0]);
|
xfered_human, xfered_label, rate_human, rate_label[0]);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Reference in a new issue