summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2018-01-30 14:21:17 -0200
committerHisham Muhammad <hisham@gobolinux.org>2018-02-17 15:30:15 -0200
commitbcf4a30ee688f520f6e0655b70ee05260030d550 (patch)
tree3914ff4e060c4701a58f254ebdd29fdac132a887
parent86fea8facd0986e257fd022695a60dbb6239f380 (diff)
Store .sort_key as a string
-rw-r--r--Settings.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/Settings.c b/Settings.c
index d7c4cfaf..68f284a0 100644
--- a/Settings.c
+++ b/Settings.c
@@ -209,16 +209,21 @@ static void Settings_defaultMeters(Settings* this) {
this->meterColumns[1].modes[r++] = TEXT_METERMODE;
}
+static const char* toFieldName(int i) {
+ return Process_fields[i].name;
+}
+
static int toFieldIndex(const char* str) {
if (isdigit(str[0])) {
// This "+1" is for compatibility with the older enum format.
int id = atoi(str) + 1;
- if (Process_fields[id].name && id < Platform_numberOfFields) {
+ if (id < Platform_numberOfFields && toFieldName(id)) {
return id;
}
} else {
for (int p = 1; p < LAST_PROCESSFIELD; p++) {
- if (Process_fields[p].name && strcmp(Process_fields[p].name, str) == 0) {
+ const char* pName = toFieldName(p);
+ if (pName && strcmp(pName, str) == 0) {
return p;
}
}
@@ -377,7 +382,7 @@ static void writeFields(FILE* fd, ProcessField* fields, bool byName) {
const char* sep = "";
for (int i = 0; fields[i]; i++) {
if (byName) {
- fprintf(fd, "%s%s", sep, Process_fields[fields[i]].name);
+ fprintf(fd, "%s%s", sep, toFieldName(fields[i]));
} else {
// This " - 1" is for compatibility with the older enum format.
fprintf(fd, "%s%d", sep, (int) fields[i] - 1);
@@ -446,8 +451,7 @@ bool Settings_write(Settings* this) {
fprintf(fd, "screen:%s=", ss->name);
writeFields(fd, ss->fields, true);
fprintf(fd, ".tree_view=%d\n", (int) ss->treeView);
- // This "-1" is for compatibility with the older enum format.
- fprintf(fd, ".sort_key=%d\n", (int) ss->sortKey-1);
+ fprintf(fd, ".sort_key=%s\n", toFieldName(ss->sortKey));
fprintf(fd, ".sort_direction=%d\n", (int) ss->direction);
}
}

© 2014-2024 Faster IT GmbH | imprint | privacy policy