4e282eb845
Add -Wmissing-prototypes compiler warning
2020-09-25 17:20:35 +02:00
dfa40ad0eb
Linux: consider the ZFS ARC to be cache.
...
This commit is based on a patch originally by @edef1c. The ZFS ARC is a cache
(it's in the name), which will be evicted by the kernel if memory pressure so
requires. Hence, the ARC should not be counted towards a system's total used
memory, and should instead be grouped with the other caches in the system.
Signed-off-by: edef <edef@edef.eu >
2020-09-24 23:27:27 +01:00
18b1e9fba9
Do not drop qualifier in cast
...
ListItem.c:73:33: warning: cast from 'const void *' to 'struct ListItem_ *' drops const qualifier [-Wcast-qual]
ListItem* obj1 = (ListItem*) cast1;
^
ListItem.c:74:33: warning: cast from 'const void *' to 'struct ListItem_ *' drops const qualifier [-Wcast-qual]
ListItem* obj2 = (ListItem*) cast2;
^
Process.c:434:28: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Process* p1 = (Process*)v1;
^
Process.c:435:28: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Process* p2 = (Process*)v2;
^
Process.c:441:36: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Settings *settings = ((Process*)v1)->settings;
^
Process.c:443:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p1 = (Process*)v1;
^
Process.c:444:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p2 = (Process*)v2;
^
Process.c:446:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p2 = (Process*)v1;
^
Process.c:447:22: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
p1 = (Process*)v2;
^
AffinityPanel.c:37:16: warning: cast from 'const char *' to 'void *' drops const qualifier [-Wcast-qual]
free((void*)this->text);
^
AffinityPanel.c:39:19: warning: cast from 'const char *' to 'void *' drops const qualifier [-Wcast-qual]
free((void*)this->indent);
^
linux/LinuxProcess.c:294:36: warning: cast from 'const void *' to 'struct Process_ *' drops const qualifier [-Wcast-qual]
Settings *settings = ((Process*)v1)->settings;
^
linux/LinuxProcess.c:296:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p1 = (LinuxProcess*)v1;
^
linux/LinuxProcess.c:297:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p2 = (LinuxProcess*)v2;
^
linux/LinuxProcess.c:299:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p2 = (LinuxProcess*)v1;
^
linux/LinuxProcess.c:300:27: warning: cast from 'const void *' to 'struct LinuxProcess_ *' drops const qualifier [-Wcast-qual]
p1 = (LinuxProcess*)v2;
^
linux/LinuxProcessList.c:62:32: warning: cast from 'const void *' to 'struct TtyDriver_ *' drops const qualifier [-Wcast-qual]
TtyDriver* a = (TtyDriver*) va;
^
linux/LinuxProcessList.c:63:32: warning: cast from 'const void *' to 'struct TtyDriver_ *' drops const qualifier [-Wcast-qual]
TtyDriver* b = (TtyDriver*) vb;
^
linux/Battery.c:130:21: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
free((char *) isOnline);
^
linux/Battery.c:197:26: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
xSnprintf((char *) filePath, sizeof filePath, SYS_POWERSUPPLY_DIR "/%s/type", entryName);
^
linux/Battery.c:209:29: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
xSnprintf((char *) filePath, sizeof filePath, SYS_POWERSUPPLY_DIR "/%s/uevent", entryName);
^
linux/Battery.c:262:29: warning: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
xSnprintf((char *) filePath, sizeof filePath, SYS_POWERSUPPLY_DIR "/%s/online", entryName);
^
2020-09-24 20:14:17 +02:00
6a03cd237a
Avoid warning about unreachable break statement
...
htop.c:112:13: warning: 'break' will never be executed [-Wunreachable-code-break]
break;
^~~~~
htop.c:109:13: warning: 'break' will never be executed [-Wunreachable-code-break]
break;
^~~~~
2020-09-24 20:14:17 +02:00
cd1ba1422b
Avoid bad function cast warning
...
linux/Platform.c:142:17: warning: cast from function call of type 'double' to non-matching type 'int' [-Wbad-function-cast]
return (int) floor(uptime);
^~~~~~~~~~~~~
2020-09-24 20:14:17 +02:00
4a1f3fca96
Drop unnecessary usage of comma operator
2020-09-24 20:14:17 +02:00
4296e74ada
Include prototype in Battery implementation
...
linux/Battery.c:291:6: warning: no previous prototype for function 'Battery_getData' [-Wmissing-prototypes]
void Battery_getData(double* level, ACPresence* isOnAC) {
^
2020-09-24 20:14:17 +02:00
ce0fd5f6d8
Drop unused macros
2020-09-24 20:14:17 +02:00
edf1b10d2c
Read CPU frequency from sysfs by default
...
Use the more portable sysfs node /sys/devices/system/cpu/cpuX/cpufreq/scaling_cur_freq
to get the CPU frequency.
In case of an error fall back to /proc/cpuinfo .
Also use a fixed width of 4 for the frequency to avoid position jumps
in case the frequency moves in the range 900-1100 MHz.
2020-09-24 20:11:28 +02:00
f4e1f4619f
Add DeepCode inline suppression
...
We just want a non-NUll pointer in the matching pid hashtable.
The pointer is not dereferenced anyways.
2020-09-24 20:04:47 +02:00
594409f299
Add DeepCode inline suppression
...
commsize is bounded by the allocated length passed in by commLen, saved
into commLenIn
2020-09-24 19:56:30 +02:00
005c4d1f23
Make --enable-hwloc and --enable-linux-affinity mutual exclusive
...
They can not be supported both at the same time.
Fail configure step instead of silently only use hwloc.
2020-09-24 19:43:27 +02:00
f4bb50294a
show selected command wrapped in a separate window
...
For a process with a very long command, especially with many long
command line arguments, inspecting the command and its arguments could
become inconvenient.
Meanwhile htop supports the concept of "screen", or window, which is
extended here to create a dedicated "CommandScreen", making it possible
to display the command of the selected process in a separate window
meanwhile being wrapped into multiple lines.
Another benefit of using a command screen is, the user can navigate
through the wrapped lines of the command and perform actions like
searching and filtering.
2020-09-24 19:22:25 +02:00
5233817122
Avoid unsigned integer overflow
...
unsigned integer overflows are well-defined, but they might point to a counting issue.
Having the code free of unsigned overflows makes it easier to spot potential bugs.
Action.c:332:27: runtime error: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'uid_t' (aka 'unsigned int') changed the value to 4294967295 (32-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior Action.c:332:27 in
2020-09-24 18:06:59 +02:00
7ecea3d485
Use return value of CLAMP function
2020-09-24 18:06:36 +02:00
ba0fca1800
Add -Wfloat-equal to default build flags
2020-09-24 18:06:36 +02:00
321960bd96
Update delay accounting to use NAN on error
2020-09-24 18:06:36 +02:00
3c65d78d77
Update CPU freq display to use NAN on error
2020-09-24 18:06:36 +02:00
ebcf924643
Use threshold for display of guest/steal/irq meters
2020-09-24 18:06:36 +02:00
d0d3deb73c
Properly query sysconf settting and use NAN if unavailable
...
This also fixes an issue with time returned negative if sysconf(_SC_CLK_TCK) returned an error.
2020-09-24 18:06:36 +02:00
29ec115143
Update IO rate display to use NAN on error
2020-09-24 18:06:36 +02:00
47e2cefe02
Update battery API to use NAN on error
2020-09-24 18:06:36 +02:00
f805093589
align cpu id to right
2020-09-24 17:53:57 +02:00
d2b3a7a375
Drop dead process fields
...
They are nowhere used.
2020-09-24 17:48:38 +02:00
c1b5201444
Consistent wording/formatting of field descriptions
2020-09-24 17:48:17 +02:00
83257744cc
Document M_PSS and M_PSSWP in man page
2020-09-24 17:48:17 +02:00
7844e06eb0
Document field M_SWAP in man page
2020-09-24 17:48:17 +02:00
2565dd3c58
Drop dead code after break
2020-09-24 17:47:17 +02:00
6b11738744
Avoid arithmetic on booleans
2020-09-23 19:09:11 +02:00
f9966b5be3
Use checked allocation wrappers
2020-09-23 17:50:21 +02:00
e0e5997c53
Fix minor regression in number highlighting
...
Fixes #163
2020-09-21 14:10:07 +02:00
eb260af6bf
Fix memory leak on cgroup read failure
2020-09-21 13:55:29 +02:00
2c933f210b
htop shows no used memory in Solaris zone
2020-09-21 13:54:45 +02:00
543286256e
htop crashes on Solaris 11.4 due to missing ZFS ARC kstats
2020-09-21 13:54:45 +02:00
5ea13e7ea9
Add format attribute
2020-09-18 12:28:40 +02:00
efb971f9df
Fail travis CI on compiler warnings
2020-09-18 12:28:40 +02:00
475f729a36
Resolve unused variable on FreeBSD
2020-09-18 12:28:40 +02:00
e719a85994
Mark noreturn functions
2020-09-18 12:28:40 +02:00
b85a31415e
Avoid checking of undefined macros
...
These feature macros are either define or not defined at all at the
configure step.
2020-09-18 12:28:40 +02:00
c3952e7c20
Use strict function prototypes
...
int foo(); declares a function taking any number of arguments.
2020-09-18 12:28:40 +02:00
7107d1db0b
Refactor __attribute__ usage
...
Use internal macros for compatibility with non GNUC compilers.
2020-09-18 12:28:40 +02:00
f4602f7b4e
Add some default compiler warnings
...
Compatible with gcc and clang.
2020-09-18 12:28:40 +02:00
dd6500c7c7
Sort option in help message
2020-09-18 12:27:45 +02:00
f6b0efded5
Convert short version option to capital V
...
v is generally used for enabling verbose mode
2020-09-18 12:27:45 +02:00
f3b4e248a3
Drop unused variable
2020-09-18 12:22:18 +02:00
1061bd719a
Change option '-m' to '-M' for consistency of cli
...
`-m` was added as short option for `--no-mouse`, this is inconsistence
to the rest of the cli since otherwise the short options to disable a
feature are capital letters. Therefore this commit renames the option to
`-M`.
This commit also documents the option in the man page.
2020-09-18 12:04:21 +02:00
40441dca8e
Enhance highlighting of semi-large and large numbers
2020-09-17 22:08:13 +02:00
3142077c76
Add script to run htop under valgrind
...
Includes suppressions for ncurses leaks.
2020-09-17 22:06:36 +02:00
c7568bc054
Fix memory leak in actionSetAffinity()
...
Call correct delete method for AffinityPanel
2020-09-17 22:04:11 +02:00
71c068ad28
Free movingBar memory on exit
2020-09-17 22:04:11 +02:00