| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
Co-authored-by: BenBE <BenBE@geshi.org>
|
|
|
|
|
|
|
|
| |
Coverity scan reports that there is dead code in Settings_write
checking for nulls that have already been dereferenced on every
code path leading to the check. This is likely a hangover from
times when the screens pointer was only conditionally allocated
- they're not needed anymore.
|
|
|
|
|
|
|
| |
Coverity scan reports there may be a code path that would cause
an overrun in the (relatively new) ScreenSettings code where it
evaluates default sort direction. Add bounds check and default
to descending instead of a potentially invalid array access.
|
|
|
|
|
| |
Closes #880
Patch from BenBE and cgzones
|
|
|
|
|
| |
Respect the field option defaultSortDesc for the default screen sort
direction, e.g. for CPU%.
|
|
|
|
|
|
|
|
| |
When reading a configuration file with the syntax previous to the
screens update Settings_defaultScreens() will add the default fields and
later ScreenSettings_readFields() will add the ones from the
configuration file. This will duplicate some fields and corrupt the
columns due to the boundless Command field.
|
| |
|
| |
|
|
|
|
|
|
| |
Use C99 struct initialization, which also makes using calloc redundant.
htop: Process.c:1179: int Process_compareByKey_Base(const Process *, const Process *, ProcessField): Assertion `0 && "Process_compareByKey_Base: default key reached"' failed.
|
|
|
|
|
| |
Also tidy up the calloc call parameters in the initial allocation
of this pointer, thanks to @BenBE for noticing.
|
|
|
|
| |
Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
|
|
|
|
|
|
|
|
| |
If the new htop is configured with htoprc having no tabs (eg on upgrade)
then the interface will not automatically introduce/enable them.
However, for a fresh install of htop, enabling them automatically
Signed-off-by: Sohaib Mohamed <sohaib.amhmd@gmail.com>
|
| |
|
| |
|
|
|
|
| |
This is a forward port (by nathans) of Hisham's original code.
|
| |
|
| |
|
|
|
|
|
|
| |
Header.c:150:26: error: implicit conversion loses integer precision: 'int' to 'uint8_t' (aka 'unsigned char') [-Werror,-Wimplicit-int-conversion]
colSettings->len = len;
~ ^~~
|
| |
|
| |
|
|
|
|
|
| |
Without this htoprc from sysconfdir is ignored and default meters
are loaded.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also avoid declaring variables of different type, pointer and array, in
the same line.
|
|
|
|
|
|
|
|
| |
If htop is started for the first time and no configuration file exists
the header is empty cause no meters are added as a default.
Add the default meters if parsing all available configuration paths
failed.
|
|
|
|
|
| |
Plug leaks of an open file descriptor and dynamically allocated
'option' when we bail out early reading unknown config version.
|
| |
|
| |
|
|
|
|
|
|
| |
Use a name in the user configuration file instead of the compile
time enum value, so that future reorderings or insertions do not change
the user selected layout.
|
|\ |
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Default settings are used as a base and only settings specified in `htoprc` are
applied on top of it. This patch removes the special case for applying some
defaults when the config does not contain a `meters` key. All defauls are set
before any attempt to read settings, so only keys actually present in the config
file are overridden.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements support for arbitrary Performance Co-Pilot
metrics with per-process instance domains to form new
htop columns. The column-to-metric mappings are setup
using configuration files which will be documented via
man pages as part of a follow-up commit.
We provide an initial set of column configurations so
as to provide new capabilities to pcp-htop: including
configs for containers, open fd counts, scheduler run
queue time, tcp/udp bytes/calls sent/recv, delay acct,
virtual machine guests, detailed virtual memory, swap.
Note there is a change to the configuration file path
resolution algorithm introduced for 'dynamic meters'.
First, look in any custom PCP_HTOP_DIR location. Then
iterate, in priority order, users home directory, then
local sysadmins files in /etc/pcp/htop, then readonly
configuration files below /usr/share/pcp/htop. This
final location becomes the preferred place for our own
shipped meter and column files.
The Settings file (htoprc) writing code is updated to
not using the numeric identifier for dynamic columns.
The same strategy used for dynamic meters is used here
where we write Dynamic(name) so the name can be setup
once more at start. Regular (static) columns writing
to htoprc - i.e. numerically indexed - is unchanged.
|
| |
|
| |
|
|
|
|
| |
Fixes #383
|
| |
|
|
|
|
|
| |
Add command line option to disable all system and process changing
features.
|
| |
|
|\
| |
| |
| | |
FreeBSD: add support for CPU frequency and temperature
Tested on two physical systems running FreeBSD 12.1
|
| | |
|
| |
| |
| |
| |
| | |
Return a negative errno on fprintf() or flcose() failure, not a return
value of ferror() or flcose().
|
| |
| |
| |
| |
| |
| | |
Writing to the file stream might fail due to a immutable file or a
filesystem error.
Check the error indicator for the stream and for fclose() failures.
|
| | |
|
| |
| |
| |
| | |
This removes the call-sites of the removed setuid feature
|