summaryrefslogtreecommitdiff
path: root/progress.c
diff options
context:
space:
mode:
authorNicolas Pitre <nico@fluxnic.net>2009-10-14 03:02:04 (GMT)
committerJunio C Hamano <gitster@pobox.com>2009-10-14 08:19:29 (GMT)
commit583371af1f88e9cd48fedbb6bbb147d8091fd591 (patch)
treebfca2a1fb5ed16830414b4e62533c5adc2cc82b2 /progress.c
parentd01a8e32fe10f1086e5e427f85237baff218fb01 (diff)
downloadgit-583371af1f88e9cd48fedbb6bbb147d8091fd591.zip
git-583371af1f88e9cd48fedbb6bbb147d8091fd591.tar.gz
git-583371af1f88e9cd48fedbb6bbb147d8091fd591.tar.bz2
change throughput display units with fast links
Switch to MiB/s when the connection is fast enough (i.e. on a LAN). Signed-off-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'progress.c')
-rw-r--r--progress.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/progress.c b/progress.c
index 132ed95..3971f49 100644
--- a/progress.c
+++ b/progress.c
@@ -131,7 +131,13 @@ static void throughput_string(struct throughput *tp, off_t total,
} else {
l -= snprintf(tp->display, l, ", %u bytes", (int)total);
}
- if (rate)
+
+ if (rate > 1 << 10) {
+ int x = rate + 5; /* for rounding */
+ snprintf(tp->display + sizeof(tp->display) - l, l,
+ " | %u.%2.2u MiB/s",
+ x >> 10, ((x & ((1 << 10) - 1)) * 100) >> 10);
+ } else if (rate)
snprintf(tp->display + sizeof(tp->display) - l, l,
" | %u KiB/s", rate);
}