diff options
author | Nathan Scott <nathans@redhat.com> | 2021-07-12 16:03:29 +1000 |
---|---|---|
committer | Nathan Scott <nathans@redhat.com> | 2021-07-14 11:58:31 +1000 |
commit | a4764902829d2a25a0e27c31824274362e11adea (patch) | |
tree | 81db785a4c9298f2e459649a18e6b2d04e03ac6c /DynamicMeter.c | |
parent | bf22a8fb13c9495466051caa5a0c0e9c1f9de0df (diff) |
Ensure we do not attempt to add a DynamicMeter via the
htoprc that we didn't find during start up. This just
leaves blank sections of the display as @smalinux found.
Related to https://github.com/htop-dev/htop/pull/682
Diffstat (limited to 'DynamicMeter.c')
-rw-r--r-- | DynamicMeter.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/DynamicMeter.c b/DynamicMeter.c index 3b567a53..605bbc3d 100644 --- a/DynamicMeter.c +++ b/DynamicMeter.c @@ -36,20 +36,24 @@ Hashtable* DynamicMeters_new(void) { typedef struct { unsigned int key; const char* name; + bool found; } DynamicIterator; static void DynamicMeter_compare(ht_key_t key, void* value, void* data) { const DynamicMeter* meter = (const DynamicMeter*)value; DynamicIterator* iter = (DynamicIterator*)data; - if (String_eq(iter->name, meter->name)) + if (String_eq(iter->name, meter->name)) { + iter->found = true; iter->key = key; + } } -unsigned int DynamicMeter_search(const ProcessList* pl, const char* name) { - DynamicIterator iter = { .key = 0, .name = name }; +bool DynamicMeter_search(const ProcessList* pl, const char* name, unsigned int* key) { + DynamicIterator iter = { .key = 0, .name = name, .found = false }; if (pl->dynamicMeters) Hashtable_foreach(pl->dynamicMeters, DynamicMeter_compare, &iter); - return iter.key; + *key = iter.key; + return iter.found; } const char* DynamicMeter_lookup(const ProcessList* pl, unsigned int key) { |