diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:21 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:00:21 +0200 |
commit | 9675cf654d86464344e56705db7a71ea17f76c6f (patch) | |
tree | 86077a344c002694db7ba4f7295d8a64b3601258 /ColumnsPanel.c | |
parent | 85bb4ad9cb820ac3b8e935a930084a06cbfd2847 (diff) | |
download | debian_htop-9675cf654d86464344e56705db7a71ea17f76c6f.tar.gz debian_htop-9675cf654d86464344e56705db7a71ea17f76c6f.tar.bz2 debian_htop-9675cf654d86464344e56705db7a71ea17f76c6f.zip |
Imported Upstream version 0.6.6+svn20070915upstream/0.6.6+svn20070915
Diffstat (limited to 'ColumnsPanel.c')
-rw-r--r-- | ColumnsPanel.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/ColumnsPanel.c b/ColumnsPanel.c index 8d3dd45..7a5a298 100644 --- a/ColumnsPanel.c +++ b/ColumnsPanel.c @@ -44,6 +44,15 @@ void ColumnsPanel_delete(Object* object) { free(this); } +int ColumnsPanel_fieldNameToIndex(const char* name) { + for (int j = 1; j <= LAST_PROCESSFIELD; j++) { + if (String_eq(name, Process_fieldNames[j])) { + return j; + } + } + return 0; +} + void ColumnsPanel_update(Panel* super) { ColumnsPanel* this = (ColumnsPanel*) super; int size = Panel_getSize(super); @@ -53,12 +62,9 @@ void ColumnsPanel_update(Panel* super) { this->settings->pl->fields = (ProcessField*) malloc(sizeof(ProcessField) * (size+1)); for (int i = 0; i < size; i++) { char* text = ((ListItem*) Panel_get(super, i))->value; - for (int j = 1; j <= LAST_PROCESSFIELD; j++) { - if (String_eq(text, Process_fieldNames[j])) { - this->settings->pl->fields[i] = j; - break; - } - } + int j = ColumnsPanel_fieldNameToIndex(text); + if (j > 0) + this->settings->pl->fields[i] = j; } this->settings->pl->fields[size] = 0; } @@ -83,7 +89,7 @@ HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) { case ']': case '+': { - if (selected < size - 2) + if (selected < size - 2) Panel_moveSelectedDown(super); result = HANDLED; break; |