summaryrefslogtreecommitdiff
path: root/src/newgrf.cpp
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2020-05-17 23:31:51 +0200
committerMichael Lutz <michi@icosahedron.de>2020-05-21 20:02:34 +0200
commitc082f570cebd237c35de9caa08fcc84a9c44e95d (patch)
tree7e0e85e1a3f14db83a82e4861899578c2383529d /src/newgrf.cpp
parent808c8198d5ab61c457d0351ff7971b75ee17c10a (diff)
downloadopenttd-c082f570cebd237c35de9caa08fcc84a9c44e95d.tar.xz
Codechange: Use std::string when translating TTDP NewGRF string codes.
Diffstat (limited to 'src/newgrf.cpp')
-rw-r--r--src/newgrf.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index 4ada53a0a..3f621e5c9 100644
--- a/src/newgrf.cpp
+++ b/src/newgrf.cpp
@@ -6895,7 +6895,7 @@ static void GRFLoadError(ByteReader *buf)
if (buf->HasData()) {
const char *message = buf->ReadString();
- error->custom_message = TranslateTTDPatchCodes(_cur.grffile->grfid, lang, true, message, nullptr, SCC_RAW_STRING_POINTER);
+ error->custom_message = stredup(TranslateTTDPatchCodes(_cur.grffile->grfid, lang, true, message, SCC_RAW_STRING_POINTER).c_str());
} else {
grfmsg(7, "GRFLoadError: No custom message supplied.");
error->custom_message = stredup("");
@@ -6907,7 +6907,7 @@ static void GRFLoadError(ByteReader *buf)
if (buf->HasData()) {
const char *data = buf->ReadString();
- error->data = TranslateTTDPatchCodes(_cur.grffile->grfid, lang, true, data);
+ error->data = stredup(TranslateTTDPatchCodes(_cur.grffile->grfid, lang, true, data).c_str());
} else {
grfmsg(7, "GRFLoadError: No message data supplied.");
error->data = stredup("");
@@ -7456,9 +7456,8 @@ static void FeatureTownName(ByteReader *buf)
const char *name = buf->ReadString();
- char *lang_name = TranslateTTDPatchCodes(grfid, lang, false, name);
- grfmsg(6, "FeatureTownName: lang 0x%X -> '%s'", lang, lang_name);
- free(lang_name);
+ std::string lang_name = TranslateTTDPatchCodes(grfid, lang, false, name);
+ grfmsg(6, "FeatureTownName: lang 0x%X -> '%s'", lang, lang_name.c_str());
townname->name[nb_gen] = AddGRFString(grfid, id, lang, new_scheme, false, name, STR_UNDEFINED);
@@ -7500,7 +7499,7 @@ static void FeatureTownName(ByteReader *buf)
townname->partlist[id][i].parts[j].data.id = ref_id;
} else {
const char *text = buf->ReadString();
- townname->partlist[id][i].parts[j].data.text = TranslateTTDPatchCodes(grfid, 0, false, text);
+ townname->partlist[id][i].parts[j].data.text = stredup(TranslateTTDPatchCodes(grfid, 0, false, text).c_str());
grfmsg(6, "FeatureTownName: part %d, text %d, '%s' (with probability %d)", i, j, townname->partlist[id][i].parts[j].data.text, prob);
}
townname->partlist[id][i].parts[j].prob = prob;