Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
htop
Commits
5d6ad853
Commit
5d6ad853
authored
Apr 09, 2014
by
Hisham Muhammad
Browse files
Support for very large numbers, now tested on a 64-bit machine.
parent
127f847c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Process.c
View file @
5d6ad853
...
...
@@ -319,11 +319,11 @@ void Process_getMaxPid() {
}
}
#define ONE_K 1024
#define ONE_K 1024
L
#define ONE_M (ONE_K * ONE_K)
#define ONE_G (ONE_M * ONE_K)
#define ONE_DECIMAL_K 1000
#define ONE_DECIMAL_K 1000
L
#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
>=
(
10
00
*
ONE_DECIMAL_
M
))
{
len
=
snprintf
(
buffer
,
10
,
"%3.1
l
fT "
,
(
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.1
l
fG "
,
(
double
)
number
/
ONE_M
);
RichString_appendn
(
str
,
CRT_colors
[
LARGE_NUMBER
],
buffer
,
len
);
}
}
else
if
(
number
>=
100000
)
{
...
...
Process.h
View file @
5d6ad853
...
...
@@ -182,11 +182,11 @@ extern const char *Process_fieldTitles[];
void
Process_getMaxPid
();
#define ONE_K 1024
#define ONE_K 1024
L
#define ONE_M (ONE_K * ONE_K)
#define ONE_G (ONE_M * ONE_K)
#define ONE_DECIMAL_K 1000
#define ONE_DECIMAL_K 1000
L
#define ONE_DECIMAL_M (ONE_DECIMAL_K * ONE_DECIMAL_K)
#define ONE_DECIMAL_G (ONE_DECIMAL_M * ONE_DECIMAL_K)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment