Johannes Sixt [off-list ref] writes:
Nicolas Pitre schrieb:
quoted
+ if (rate > 1 << 10) {
+ int x = rate + 5; /* for rounding */
+ snprintf(tp->display + sizeof(tp->display) - l, l,
+ " | %u.%2.2u MiB/s",
Shouldn't the fractional part be "%02.2u" (leading zeros instead of blanks)?
quoted
+ x >> 10, ((x & ((1 << 10) - 1)) * 100) >> 10);
+ } else if (rate)
snprintf(tp->display + sizeof(tp->display) - l, l,
" | %u KiB/s", rate);
}
-- Hannes
Judging from the surrounding existing code, I do not think so.
$ cat <<\EOF >j.c
#include <stdio.h>
int main(int ac, char **av)
{
printf("%u.%2.2u\n", 4, 5);
return 0;
}
EOF
$ gcc -o j j.c && ./j
4.05