Commit Graph

1567 Commits

Author SHA1 Message Date
Christian Göttsche
397b5c4bd0 Introduce spaceship comparison for Processes
If currently two unsigned values are compared via `a - b`, in the case b
is actually bigger than a, the result will not be an negative number (as
-1 is expected) but a huge positive number as the subtraction is an
unsigned subtraction.

Avoid over-/underflow affected operations; use comparisons.
Modern compilers will generate sane code, like:
    xor     eax, eax
    cmp     rdi, rsi
    seta    al
    sbb     eax, 0
    ret
2020-11-15 18:25:21 +01:00
Christian Göttsche
d785b1bbc3 Fixup of SystemdMeter merge 2020-11-15 17:53:31 +01:00
Daniel Lange
f2b2735e07 Resolve merge conflicts, merge #229 "Add SystemdMeter" from @cgzones 2020-11-15 14:52:25 +01:00
Daniel Lange
bb908f3dc4 Resolve merge conflicts, merge #298 "Macro cleanup" from @BenBE 2020-11-15 14:33:09 +01:00
Daniel Lange
da2dcf9505 Remove duplicate test for NUL
Fixes #308, thanks @qarmin (Rafał Mikrut)
2020-11-15 14:16:23 +01:00
BenBE
9e976b899b
Merge pull request #239 from StoneBam/list-locks 2020-11-14 16:03:17 +01:00
Benny Baumann
d431786fca Split data array for file lock information into separate fields 2020-11-14 15:51:26 +01:00
Benny Baumann
18763051a2 Split platform dependent parts for file locks screen 2020-11-14 15:51:26 +01:00
Benny Baumann
2d6da2e520 Add compat wrapper for readlinkat 2020-11-09 19:17:57 +01:00
Fynn Wulf
84dad4c38e Implement screen for active file locks 2020-11-09 19:17:57 +01:00
Benny Baumann
e7b95feee4 Remove unnecessary braces 2020-11-02 22:15:01 +01:00
Benny Baumann
0e922d4085 Integrate NAN check into assignment
The check for NAN is kept to avoid relying on implementation details of the CLAMP macro/function
2020-11-02 22:15:01 +01:00
Benny Baumann
cb8bb12974 Shorten initializer 2020-11-02 22:15:01 +01:00
Benny Baumann
1c060a9d6b Avoid RichString_beginAllocated being ammendable 2020-11-02 22:15:01 +01:00
Benny Baumann
0d64ca9262 Wrap inline structure definitions 2020-11-02 22:15:01 +01:00
Benny Baumann
45869513bf Embracing branches 2020-11-02 22:15:01 +01:00
Benny Baumann
61e14d4bb2 Spacing around operators 2020-11-02 22:15:01 +01:00
Benny Baumann
b23f8235e2 Whitespace and indentation issues 2020-11-02 22:15:01 +01:00
Benny Baumann
9a16b1079e Make scope of match macro symmetric 2020-11-02 22:15:01 +01:00
Benny Baumann
493217e814 Fix indentation to 3 spaces 2020-11-02 22:15:01 +01:00
Benny Baumann
adf797c295 Spacing after keywords (for) 2020-11-02 22:15:01 +01:00
Benny Baumann
374edb9ed5 Spacing after keywords (if) 2020-11-02 22:14:59 +01:00
Benny Baumann
0a51eae11f Spacing after keywords (while) 2020-11-02 22:14:26 +01:00
Benny Baumann
1877325329 Spacing after keywords (#define) 2020-11-02 22:14:26 +01:00
Benny Baumann
db0a13970e Convert addattrstr to static inline function
NB: The macro could have been a braced while(0) loop, which without optimization produces more code
2020-11-02 22:14:26 +01:00
Benny Baumann
c790b6ae67 Remove accidental syntax collision 2020-11-02 22:14:26 +01:00
Benny Baumann
7ab0915a6c Remove unnecessary trailing semicolon on macros 2020-11-02 22:14:26 +01:00
Christian Göttsche
0806a7958b Assert Vector_get returns an object
It is generally assumed Vector_get returns a non-NULL object.
Use a generic assert in Vector_get instead of in callers.
2020-11-02 19:24:28 +01:00
Daniel Lange
742e610f1d Merge branch 'wrap' of cgzones/htop 2020-11-02 17:08:38 +01:00
Christian Göttsche
0c1908832b Handle data wraparounds in IO Meters
If the current data is smaller than the previous one, either by a retrieve error
or a device removal or a original data wraparound, sanitize the value to zero.

Fixes: #299
2020-11-02 14:46:42 +01:00
Christian Göttsche
15652e7b81 Enclose macro arguments in parentheses 2020-10-31 19:54:03 +01:00
Christian Göttsche
2a9e8ca074 Add SystemdMeter 2020-10-31 19:51:42 +01:00
Murloc Knight
ab17ef4dc0 Zram Meter feature 2020-10-31 18:51:53 +01:00
Christian Göttsche
43d274a617 Use integer type for item count instead of char 2020-10-31 18:36:55 +01:00
Erdem Ersoy
59ef15b2ad Fix segmentation fault when column name is NULL.
So, some columns (ex: SECATTR) can be sortable now.
2020-10-31 18:34:34 +01:00
Daniel Lange
6787c43097 Merge branch 'source-format' of BenBE/htop
Closes #158
2020-10-31 17:58:30 +01:00
Benny Baumann
de884d17bb Documentation on the repository style guide 2020-10-31 11:11:40 +01:00
Christian Göttsche
bbf01054bf Add compat wrapper for fstatat 2020-10-29 22:21:42 +01:00
Christian Göttsche
049046c700 FreeBSD: update Process 2020-10-29 22:21:42 +01:00
Christian Göttsche
97ea45ca9a FreeBSD: update ProcessList 2020-10-29 22:21:42 +01:00
Christian Goettsche
c2fdfd99eb FreeBSD: implement Platform_getDiskIO() 2020-10-29 22:21:42 +01:00
Christian Göttsche
c91061c84b FreeBSD: Platform update 2020-10-29 22:21:42 +01:00
Christian Goettsche
88eec2dc00 FreeBSD: rework tty process column 2020-10-29 22:21:42 +01:00
Christian Göttsche
ddbb0c2c35 Add HTOP_$platform defines to config.h header
Can be used to conditionally compile platform specific code.
2020-10-29 22:17:52 +01:00
Christian Göttsche
03b773b701 Small ListItem update 2020-10-28 20:49:11 +01:00
Christian Göttsche
6375df49c9 Simplify RichString_begin 2020-10-28 19:57:10 +01:00
Christian Göttsche
887dfde308 Implement Process_getParentPid and Process_isChildOf as functions
Make it more readable and fix unenclosed macro arguments
2020-10-28 19:57:10 +01:00
Christian Göttsche
76797f8d92 Implement Process_isUserlandThread as function
Make it more readable and fix unenclosed macro arguments
2020-10-28 19:57:10 +01:00
Christian Göttsche
d33b2be2ca Implement LinuxProcess_effectiveIOPriority as function
Make it more readable and fix unenclosed macro arguments
2020-10-28 19:57:10 +01:00
Christian Göttsche
6b3dbd5c67 Implement IncSet_filter as function
Make it more readable and fix unenclosed macro arguments
2020-10-28 19:57:10 +01:00