From 72416a6a1f75d56abfad0f486e57fd32579b3604 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Rollo Date: Tue, 10 Sep 2019 15:11:26 +0200 Subject: Formspec: add hypertext element --- src/util/string.cpp | 25 +++++++++++++++++++++++++ src/util/string.h | 11 +++++++++++ 2 files changed, 36 insertions(+) (limited to 'src/util') diff --git a/src/util/string.cpp b/src/util/string.cpp index 388e8d293..caaef9b30 100644 --- a/src/util/string.cpp +++ b/src/util/string.cpp @@ -947,3 +947,28 @@ std::wstring translate_string(const std::wstring &s) { translate_all(s, i, res); return res; } + +/** + * Create a std::string from a irr::core:stringw. + */ +std::string strwtostr(const irr::core::stringw &str) +{ + std::string text = core::stringc(str.c_str()).c_str(); + return text; +} + +/** + * Create a irr::core:stringw from a std::string. + */ +irr::core::stringw strtostrw(const std::string &str) +{ + size_t size = str.size(); + // s.size() doesn't include NULL terminator + wchar_t *text = new wchar_t[size + sizeof(wchar_t)]; + const char *data = &str[0]; + + mbsrtowcs(text, &data, size, NULL); + + text[size] = L'\0'; + return text; +} diff --git a/src/util/string.h b/src/util/string.h index ab9a4a6c8..3aa11080f 100644 --- a/src/util/string.h +++ b/src/util/string.h @@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #pragma once #include "irrlichttypes_bloated.h" +#include "irrString.h" #include #include #include @@ -723,3 +724,13 @@ inline std::string str_join(const std::vector &list, } return oss.str(); } + +/** + * Create a std::string from a irr::core::stringw. + */ +std::string strwtostr(const irr::core::stringw &str); + +/** + * Create a irr::core:stringw from a std::string. + */ +irr::core::stringw strtostrw(const std::string &str); -- cgit v1.2.3