summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2021-12-08 14:20:54 +0100
committerChristian Göttsche <cgzones@googlemail.com>2021-12-08 16:34:15 +0100
commitdf1914f4295fdd1e566c10cebd5a51c7bab0361a (patch)
tree8d2966e96eae6ecf1b00045ccdc3928f0eefea73
parent3cfdf66d9aecb463026d1227a8ba159edd4e1cbd (diff)
Add ScreenSettings_delete helper
-rw-r--r--Settings.c10
-rw-r--r--Settings.h2
2 files changed, 9 insertions, 3 deletions
diff --git a/Settings.c b/Settings.c
index 5cc09502..4b76d612 100644
--- a/Settings.c
+++ b/Settings.c
@@ -75,9 +75,7 @@ void Settings_delete(Settings* this) {
free(this->hColumns);
if (this->screens) {
for (unsigned int i = 0; this->screens[i]; i++) {
- free(this->screens[i]->name);
- free(this->screens[i]->fields);
- free(this->screens[i]);
+ ScreenSettings_delete(this->screens[i]);
}
free(this->screens);
}
@@ -285,6 +283,12 @@ ScreenSettings* Settings_newScreen(Settings* this, const char* name, const char*
return ss;
}
+void ScreenSettings_delete(ScreenSettings* this) {
+ free(this->name);
+ free(this->fields);
+ free(this);
+}
+
static ScreenSettings* Settings_defaultScreens(Settings* this) {
if (this->nScreens)
return this->screens[0];
diff --git a/Settings.h b/Settings.h
index 2ca8034d..314b516b 100644
--- a/Settings.h
+++ b/Settings.h
@@ -118,6 +118,8 @@ Settings* Settings_new(unsigned int initialCpuCount, Hashtable* dynamicColumns);
ScreenSettings* Settings_newScreen(Settings* this, const char* name, const char* line);
+void ScreenSettings_delete(ScreenSettings* this);
+
void ScreenSettings_invertSortOrder(ScreenSettings* this);
void ScreenSettings_setSortKey(ScreenSettings* this, ProcessField sortKey);