summaryrefslogtreecommitdiff
path: root/src/ini_load.cpp
diff options
context:
space:
mode:
authorPatric Stout <truebrain@openttd.org>2021-06-28 16:39:48 +0200
committerPatric Stout <github@truebrain.nl>2021-07-02 14:30:14 +0200
commit75b6051b7ae3aade1f06c8eb2bb915add4f317d1 (patch)
treef1fc0f61e208c58001c19da5bd9c4005c100e9b5 /src/ini_load.cpp
parent4f3bf84af4eb03936c0242871d7fb5b3b3214e2d (diff)
downloadopenttd-75b6051b7ae3aade1f06c8eb2bb915add4f317d1.tar.xz
Change: move sensitive information to secrets.cfg and private information to private.cfg
We often ask people for their openttd.cfg, which now includes their passwords, usernames, etc. It is easy for people to overlook this, unwillingly sharing information they shouldn't. By splitting this information over either private.cfg or secrets.cfg, we make it more obvious they shouldn't be sharing those files, and hint to what is inside them.
Diffstat (limited to 'src/ini_load.cpp')
-rw-r--r--src/ini_load.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/ini_load.cpp b/src/ini_load.cpp
index 308f822be..0663ef1e4 100644
--- a/src/ini_load.cpp
+++ b/src/ini_load.cpp
@@ -101,6 +101,29 @@ IniItem *IniGroup::GetItem(const std::string &name, bool create)
}
/**
+ * Remove the item with the given name.
+ * @param name Name of the item to remove.
+ */
+void IniGroup::RemoveItem(const std::string &name)
+{
+ IniItem **prev = &this->item;
+
+ for (IniItem *item = this->item; item != nullptr; prev = &item->next, item = item->next) {
+ if (item->name != name) continue;
+
+ *prev = item->next;
+ if (this->last_item == &this->item) {
+ this->last_item = &item->next;
+ }
+
+ item->next = nullptr;
+ delete item;
+
+ return;
+ }
+}
+
+/**
* Clear all items in the group
*/
void IniGroup::Clear()