summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2007-03-10 00:26:19 +0000
committerDarkvater <darkvater@openttd.org>2007-03-10 00:26:19 +0000
commit3b3c7554b75fcd31ebefc338ad197594b58e45cf (patch)
tree99664ed696ad27f17a26b0a7c3b445f7064f89f4
parent53f48bbd4db3f8f1ecdc4fdf0640ef29732c692c (diff)
downloadopenttd-3b3c7554b75fcd31ebefc338ad197594b58e45cf.tar.xz
(svn r9083) -Codechange: Be more lenient when trimming UTF-8 strings and don't terminate the string when an invalid encoding is encountered, but only focus on maximum length.
-rw-r--r--src/string.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/string.cpp b/src/string.cpp
index b5957622e..aea4bad9d 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -282,7 +282,8 @@ size_t Utf8TrimString(char *s, size_t maxlen)
for (const char *ptr = strchr(s, '\0'); *s != '\0';) {
size_t len = Utf8EncodedCharLen(*s);
- if (len == 0) break; // invalid encoding
+ /* Silently ignore invalid UTF8 sequences, our only concern trimming */
+ if (len == 0) len = 1;
/* Take care when a hard cutoff was made for the string and
* the last UTF8 sequence is invalid */