summaryrefslogtreecommitdiffstats
path: root/Process.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2014-04-09 22:49:36 -0300
committerHisham Muhammad <hisham@gobolinux.org>2014-04-09 22:49:36 -0300
commit5d6ad853fad53cdbad810d7e6748fe4a23ed9627 (patch)
treefa92edcdd4bb4172acfb402893ae1b7e840139d8 /Process.c
parent127f847ca54c14893143f1f678cefa0b060d5b8d (diff)
Support for very large numbers, now tested on a 64-bit machine.
Diffstat (limited to 'Process.c')
-rw-r--r--Process.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/Process.c b/Process.c
index 9f3d7348..b01d9843 100644
--- a/Process.c
+++ b/Process.c
@@ -319,11 +319,11 @@ void Process_getMaxPid() {
}
}
-#define ONE_K 1024
+#define ONE_K 1024L
#define ONE_M (ONE_K * ONE_K)
#define ONE_G (ONE_M * ONE_K)
-#define ONE_DECIMAL_K 1000
+#define ONE_DECIMAL_K 1000L
#define ONE_DECIMAL_M (ONE_DECIMAL_K * ONE_DECIMAL_K)
#define ONE_DECIMAL_G (ONE_DECIMAL_M * ONE_DECIMAL_K)
@@ -335,8 +335,8 @@ static void Process_humanNumber(Process* this, RichString* str, unsigned long nu
if(number >= (100 * ONE_DECIMAL_G)) {
len = snprintf(buffer, 10, "%4ldT ", number / ONE_G);
RichString_appendn(str, CRT_colors[LARGE_NUMBER], buffer, len);
- } else if (number >= (10 * ONE_DECIMAL_G)) {
- len = snprintf(buffer, 10, "%3.1fT ", (float)number / ONE_M);
+ } else if (number >= (1000 * ONE_DECIMAL_M)) {
+ len = snprintf(buffer, 10, "%3.1lfT ", (double)number / ONE_G);
RichString_appendn(str, CRT_colors[LARGE_NUMBER], buffer, len);
} else
#endif
@@ -344,7 +344,7 @@ static void Process_humanNumber(Process* this, RichString* str, unsigned long nu
len = snprintf(buffer, 10, "%4ldG ", number / ONE_M);
RichString_appendn(str, CRT_colors[LARGE_NUMBER], buffer, len);
} else {
- len = snprintf(buffer, 10, "%3.1fG ", (float)number / ONE_M);
+ len = snprintf(buffer, 10, "%3.1lfG ", (double)number / ONE_M);
RichString_appendn(str, CRT_colors[LARGE_NUMBER], buffer, len);
}
} else if (number >= 100000) {

© 2014-2024 Faster IT GmbH | imprint | privacy policy