From d2c82620f3e688a017544046dc8061e9fa479b4b Mon Sep 17 00:00:00 2001 From: Pang Weiwei Date: Tue, 13 Nov 2018 12:05:52 +0800 Subject: [PATCH] fix #30 & #31 --- .../Source/slua_unreal/Private/LuaState.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Plugins/slua_unreal/Source/slua_unreal/Private/LuaState.cpp b/Plugins/slua_unreal/Source/slua_unreal/Private/LuaState.cpp index 0c768733..ed436565 100644 --- a/Plugins/slua_unreal/Source/slua_unreal/Private/LuaState.cpp +++ b/Plugins/slua_unreal/Source/slua_unreal/Private/LuaState.cpp @@ -277,12 +277,18 @@ namespace slua { } LuaVar LuaState::doString(const char* str, LuaVar* pEnv) { + // fix #31 & #30 issue, + // vc compile optimize code cause cl.exe dead loop in release mode(no WITH_EDITOR) + // if turn optimze flag on + // so just write complex code to bypass link optimize + // like this, WTF! + uint32 len = strlen(str); #if WITH_EDITOR FString md5FString = FMD5::HashAnsiString(UTF8_TO_TCHAR(str)); debugStringMap.Add(md5FString, UTF8_TO_TCHAR(str)); - return doBuffer((const uint8*)str,strlen(str),TCHAR_TO_UTF8(*md5FString),pEnv); + return doBuffer((const uint8*)str,len,TCHAR_TO_UTF8(*md5FString),pEnv); #else - return doBuffer((const uint8*)str,strlen(str),str,pEnv); + return doBuffer((const uint8*)str,len,str,pEnv); #endif }