summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium42 <rubidium@openttd.org>2021-05-29 16:02:53 +0200
committerrubidium42 <rubidium42@users.noreply.github.com>2021-05-29 19:02:18 +0200
commitb4aedef848822649d3f7a045504eb2a9870b4b7e (patch)
treedcade3be2cc07f795b1b56e658437c356b814c6b
parent0125ba82e8b94461894a9628dea6552c0bbfa38d (diff)
downloadopenttd-b4aedef848822649d3f7a045504eb2a9870b4b7e.tar.xz
Codechange: add std::string variant of Utf8StringLength
-rw-r--r--src/string.cpp10
-rw-r--r--src/string_func.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/string.cpp b/src/string.cpp
index 1cf61e8b4..e9a619c40 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -395,6 +395,16 @@ size_t Utf8StringLength(const char *s)
return len;
}
+/**
+ * Get the length of an UTF-8 encoded string in number of characters
+ * and thus not the number of bytes that the encoded string contains.
+ * @param s The string to get the length for.
+ * @return The length of the string in characters.
+ */
+size_t Utf8StringLength(const std::string &str)
+{
+ return Utf8StringLength(str.c_str());
+}
/**
* Convert a given ASCII string to lowercase.
diff --git a/src/string_func.h b/src/string_func.h
index 0988f01b3..2e258fbd2 100644
--- a/src/string_func.h
+++ b/src/string_func.h
@@ -166,6 +166,7 @@ static inline const char *Utf8PrevChar(const char *s)
}
size_t Utf8StringLength(const char *s);
+size_t Utf8StringLength(const std::string &str);
/**
* Is the given character a lead surrogate code point?