Do not combine default and configuration process fields

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.
This commit is contained in:
Christian Göttsche 2021-12-16 15:49:17 +01:00 committed by cgzones
parent 5bc988ad6d
commit 6fcb1994c8
1 changed files with 4 additions and 2 deletions

View File

@ -242,8 +242,10 @@ static void ScreenSettings_readFields(ScreenSettings* ss, Hashtable* columns, co
char** ids = String_split(trim, ' ', NULL);
free(trim);
unsigned int i, j;
for (j = 0, i = 0; ids[i]; i++) {
/* reset default fields */
memset(ss->fields, '\0', LAST_PROCESSFIELD * sizeof(ProcessField));
for (size_t j = 0, i = 0; ids[i]; i++) {
if (j >= UINT_MAX / sizeof(ProcessField))
continue;
if (j >= LAST_PROCESSFIELD) {