From 63ccb36ef3ecd53a503c0e9fea87f0784802af0f Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Sun, 17 May 2020 23:31:59 +0200 Subject: Codechange: Use std::string for most of the user-settable custom names. --- src/town_cmd.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/town_cmd.cpp') diff --git a/src/town_cmd.cpp b/src/town_cmd.cpp index 1d550fb02..9372d3711 100644 --- a/src/town_cmd.cpp +++ b/src/town_cmd.cpp @@ -101,9 +101,6 @@ static bool TestTownOwnsBridge(TileIndex tile, const Town *t) Town::~Town() { - free(this->name); - free(this->text); - if (CleaningPool()) return; /* Delete town authority window @@ -1854,7 +1851,7 @@ static CommandCost TownCanBePlacedHere(TileIndex tile) static bool IsUniqueTownName(const char *name) { for (const Town *t : Town::Iterate()) { - if (t->name != nullptr && strcmp(t->name, name) == 0) return false; + if (!t->name.empty() && t->name == name) return false; } return true; @@ -2706,8 +2703,11 @@ CommandCost CmdRenameTown(TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 if (flags & DC_EXEC) { t->cached_name.clear(); - free(t->name); - t->name = reset ? nullptr : stredup(text); + if (reset) { + t->name.clear(); + } else { + t->name = text; + } t->UpdateVirtCoord(); InvalidateWindowData(WC_TOWN_DIRECTORY, 0, TDIWD_FORCE_RESORT); @@ -2783,8 +2783,8 @@ CommandCost CmdTownSetText(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 if (t == nullptr) return CMD_ERROR; if (flags & DC_EXEC) { - free(t->text); - t->text = StrEmpty(text) ? nullptr : stredup(text); + t->text.clear(); + if (!StrEmpty(text)) t->text = text; InvalidateWindowData(WC_TOWN_VIEW, p1); } -- cgit v1.2.3-54-g00ecf