tc: fix print_rate

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2015-05-24 18:01:53 +02:00
parent 9a595bb36d
commit b878121e76

View File

@ -151,17 +151,17 @@ static void print_rate(char *buf, int len, uint32_t rate)
double tmp = (double)rate*8;
if (use_iec) {
if (tmp >= 1000.0*1024.0*1024.0)
snprintf(buf, len, "%.0fMibit", tmp/1024.0*1024.0);
else if (tmp >= 1000.0*1024)
if (tmp >= 1000*1024*1024)
snprintf(buf, len, "%.0fMibit", tmp/(1024*1024));
else if (tmp >= 1000*1024)
snprintf(buf, len, "%.0fKibit", tmp/1024);
else
snprintf(buf, len, "%.0fbit", tmp);
} else {
if (tmp >= 1000.0*1000000.0)
snprintf(buf, len, "%.0fMbit", tmp/1000000.0);
else if (tmp >= 1000.0 * 1000.0)
snprintf(buf, len, "%.0fKbit", tmp/1000.0);
if (tmp >= 1000*1000000)
snprintf(buf, len, "%.0fMbit", tmp/1000000);
else if (tmp >= 1000*1000)
snprintf(buf, len, "%.0fKbit", tmp/1000);
else
snprintf(buf, len, "%.0fbit", tmp);
}