On Thu, Nov 3, 2011 at 8:42 AM, Allan McRae <allan@archlinux.org> wrote:
On 03/11/11 23:32, Allan McRae wrote:
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.
Signed-off-by: Allan McRae<allan@archlinux.org> --- src/pacman/callback.c | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-)
Seriously stuffed up creating this patch... Here is the actual diff which is on my working-maint branch: Haha- I stared reading and then decided I needed more coffee before I could understand it!
On that note, we have room for what you did there- is it worth it to show an extra decimal place on the first one? 2.48M/s (this one shows as 2.4M/s now) 36.7M/s 103M/s 1004M/s The diff for this, similar to your first one: diff --git a/src/pacman/callback.c b/src/pacman/callback.c index 6f39013..14d8048 100644 --- a/src/pacman/callback.c +++ b/src/pacman/callback.c @@ -699,8 +699,11 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total) xfered_human = humanize_size(xfered, '\0', &xfered_label); printf(" %ls%-*s ", wcfname, padwid, ""); - /* We will show 1.6M/s, 11.6M/s, but 116K/s and 1116K/s */ - if(rate_human < 100.0) { + /* We will show 1.62M/s, 11.6M/s, but 116K/s and 1116K/s */ + 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 ", xfered_human, xfered_label, rate_human, rate_label[0]); } else {