"%#.1f Pb", "%#.1f Eb", "%#.1f Zb", "%#.1f Yb"
};
int shift = 0;
-
- while (size >= 1024 && shift < lenof(fmts)-1) {
- size >>= 10;
+ unsigned long long tmpsize;
+ double denominator;
+
+ tmpsize = size;
+ denominator = 1.0;
+ while (tmpsize >= 1024 && shift < lenof(fmts)-1) {
+ tmpsize >>= 10;
+ denominator *= 1024.0;
shift++;
}
- *display_size = (double)size;
+ *display_size = size / denominator;
*fmt = fmts[shift];
}