#include "il2cpp-config.h" #include "SafeStringMarshal.h" #include "utils/StringUtils.h" #include "utils/Memory.h" namespace il2cpp { namespace icalls { namespace mscorlib { namespace Mono { intptr_t SafeStringMarshal::StringToUtf8(Il2CppString* str) { std::string strobj = il2cpp::utils::StringUtils::Utf16ToUtf8(str->chars, str->length); char* cstr = il2cpp::utils::StringUtils::StringDuplicate(strobj.c_str()); return reinterpret_cast(cstr); } void SafeStringMarshal::GFree(intptr_t ptr) { IL2CPP_FREE((char*)ptr); } } // namespace Mono } // namespace mscorlib } // namespace icalls } // namespace il2cpp