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
127f847c
Commit
127f847c
authored
Apr 09, 2014
by
Hisham Muhammad
Browse files
Support really large numbers on 64-bit architectures; first try.
parent
19b438de
Changes
2
Hide whitespace changes
Inline
Side-by-side
Process.c
View file @
127f847c
...
...
@@ -141,13 +141,13 @@ typedef struct Process_ {
#endif
int processor;
int
m_size;
int
m_resident;
int
m_share;
int
m_trs;
int
m_drs;
int
m_lrs;
int
m_dt;
long
m_size;
long
m_resident;
long
m_share;
long
m_trs;
long
m_drs;
long
m_lrs;
long
m_dt;
#ifdef HAVE_OPENVZ
unsigned int ctid;
...
...
@@ -325,11 +325,21 @@ void Process_getMaxPid() {
#define ONE_DECIMAL_K 1000
#define ONE_DECIMAL_M (ONE_DECIMAL_K * ONE_DECIMAL_K)
#define ONE_DECIMAL_G (ONE_DECIMAL_M * ONE_DECIMAL_K)
static
void
Process_humanNumber
(
Process
*
this
,
RichString
*
str
,
unsigned
long
number
)
{
char
buffer
[
11
];
int
len
;
if
(
number
>=
(
10
*
ONE_DECIMAL_M
))
{
#ifdef __LP64__
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
);
RichString_appendn
(
str
,
CRT_colors
[
LARGE_NUMBER
],
buffer
,
len
);
}
else
#endif
if
(
number
>=
(
100
*
ONE_DECIMAL_M
))
{
len
=
snprintf
(
buffer
,
10
,
"%4ldG "
,
number
/
ONE_M
);
RichString_appendn
(
str
,
CRT_colors
[
LARGE_NUMBER
],
buffer
,
len
);
...
...
Process.h
View file @
127f847c
...
...
@@ -120,13 +120,13 @@ typedef struct Process_ {
#endif
int
processor
;
int
m_size
;
int
m_resident
;
int
m_share
;
int
m_trs
;
int
m_drs
;
int
m_lrs
;
int
m_dt
;
long
m_size
;
long
m_resident
;
long
m_share
;
long
m_trs
;
long
m_drs
;
long
m_lrs
;
long
m_dt
;
#ifdef HAVE_OPENVZ
unsigned
int
ctid
;
...
...
@@ -188,6 +188,7 @@ void Process_getMaxPid();
#define ONE_DECIMAL_K 1000
#define ONE_DECIMAL_M (ONE_DECIMAL_K * ONE_DECIMAL_K)
#define ONE_DECIMAL_G (ONE_DECIMAL_M * ONE_DECIMAL_K)
void
Process_delete
(
Object
*
cast
);
...
...
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