X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/a4d849b7b60b43b71a5fe406ff0d78ccf197d15d..96d36aaa89e579a53bd5848c22a462ca8eb13f80:/String.hpp diff --git a/String.hpp b/String.hpp index fe33fcb..0bc5519 100644 --- a/String.hpp +++ b/String.hpp @@ -87,9 +87,17 @@ bool CYGetOffset(const char *value, ssize_t &index); bool CYStartsWith(const CYUTF8String &haystack, const CYUTF8String &needle); -const char *CYPoolCString(CYPool &pool, CYUTF8String utf8); -CYUTF8String CYPoolUTF8String(CYPool &pool, CYUTF8String utf8); -CYUTF8String CYPoolUTF8String(CYPool &pool, const std::string &value); +_finline const char *CYPoolCString(CYPool &pool, CYUTF8String utf8) { + return pool.strndup(utf8.data, utf8.size); +} + +_finline CYUTF8String CYPoolUTF8String(CYPool &pool, CYUTF8String utf8) { + return {pool.strndup(utf8.data, utf8.size), utf8.size}; +} + +_finline CYUTF8String CYPoolUTF8String(CYPool &pool, const std::string &value) { + return {pool.strndup(value.data(), value.size()), value.size()}; +} CYUTF8String CYPoolUTF8String(CYPool &pool, CYUTF16String utf16); CYUTF16String CYPoolUTF16String(CYPool &pool, CYUTF8String utf8);