summaryrefslogtreecommitdiffstats
path: root/Macros.h
AgeCommit message (Collapse)Author
2020-11-15Introduce spaceship comparison for ProcessesChristian Göttsche
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-10-20Drop tabs in source indentionsChristian Göttsche
2020-10-19Allow low and high value of CLAMP to be equalChristian Göttsche
Can for example occur in RichString_setAttrn(), when pausing and resuming process tracing: htop: RichString.c:56: void RichString_setAttrn(RichString *, int, int, int): Assertion `(0) < (this->chlen - 1)' failed. ./htop(backtrace+0x5b)[0x45d9eb] ./htop(CRT_handleSIGSEGV+0x189)[0x4ebab9] /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140)[0x7fd249d35140] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141)[0x7fd249b6ac41] /lib/x86_64-linux-gnu/libc.so.6(abort+0x123)[0x7fd249b54537] /lib/x86_64-linux-gnu/libc.so.6(+0x2540f)[0x7fd249b5440f] /lib/x86_64-linux-gnu/libc.so.6(+0x345c2)[0x7fd249b635c2] ./htop(RichString_setAttrn+0x234)[0x526de4] ./htop(RichString_setAttr+0x50)[0x5275c0] ./htop(Panel_draw+0x17b6)[0x514c26] ./htop(InfoScreen_run+0x305)[0x4fe7a5] ./htop[0x4d59d8] ./htop[0x5029cf] ./htop(ScreenManager_run+0x69f)[0x52a82f] ./htop(main+0x704)[0x4f8774] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea)[0x7fd249b55cca] ./htop(_start+0x2a)[0x4268ea]
2020-10-18Make all required includes explicitBenny Baumann
Information as seen by IWYU 0.12 + clang 9 on Linux
2020-10-06Enclose CLAMP macro arguments in parenthesesChristian Göttsche
2020-10-06Enable -Wcast-qual compiler warningChristian Göttsche
2020-10-05Assert that low value is lower than the high value in CLAMPChristian Göttsche
2020-10-03Introduce ARRAYSIZEChristian Göttsche
2020-09-18Refactor __attribute__ usageChristian Göttsche
Use internal macros for compatibility with non GNUC compilers.
2020-09-09Consolidate repeated macro definitions into one headerNathan Scott
The MIN, MAX, CLAMP, MINIMUM, and MAXIMUM macros appear throughout the codebase with many re-definitions. Make a single copy of each in a common header file, and use the BSD variants of MINIMUM/MAXIMUM due to conflicts in the system <sys/param.h> headers.