From 397e364f7f33f39ca1565cf14bc419dbb277d5f1 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sat, 13 Feb 2021 17:25:28 +0000 Subject: [PATCH] EgtGeneral 2.3b1 : - piccola miglioria nel controllo di alcune chiamate lua. --- EgtGeneral.rc | Bin 11630 -> 11630 bytes LuaManager.cpp | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/EgtGeneral.rc b/EgtGeneral.rc index ee67c928a290c71c8b264113f69fec797d5de995..ae4f2d8a445a6f2b294e824f0e24f11c05ab2b36 100644 GIT binary patch delta 126 zcmaDC^)70|H#Sxy1|0^&&FjTZGfjRctTQ=4kYn;MP8sGTpdh1AI^*UBZYO5AB6DV_ Y#7Y)Su}sFzLDCKg#kfqAQ4Zn)07dyC;s5{u delta 126 zcmaDC^)70|H#Sy71|0^Y&FjTZGfjRctTQ=4kYn;MP8sGzpdh1AI^*UBZYO5AB6DV_ Y#7Y)Su}sFzLDCKg#kfqAQ4Zn)07c;<;s5{u diff --git a/LuaManager.cpp b/LuaManager.cpp index 9b2c1af..a1ba4cb 100644 --- a/LuaManager.cpp +++ b/LuaManager.cpp @@ -157,7 +157,9 @@ LuaMgr::EvalExpr( const string& sExpr, double& dVal) // completo la stringa da valutare string sEval = "return " + sExpr ; // valuto l'espressione - int nErr = luaL_loadstring( m_pL, sEval.c_str()) || lua_pcall( m_pL, 0, 1, 0) ; + int nErr = luaL_loadstring( m_pL, sEval.c_str()) ; + if ( nErr == LUA_OK) + nErr = lua_pcall( m_pL, 0, 1, 0) ; // senza errori if ( nErr == LUA_OK && lua_type( m_pL, -1) == LUA_TNUMBER) { dVal = lua_tonumber( m_pL, -1) ; @@ -195,7 +197,9 @@ LuaMgr::EvalExpr( const string& sExpr, string& sVal) // completo la stringa da valutare string sEval = "return " + sExpr ; // valuto l'espressione - int nErr = luaL_loadstring( m_pL, sEval.c_str()) || lua_pcall( m_pL, 0, 1, 0) ; + int nErr = luaL_loadstring( m_pL, sEval.c_str()) ; + if ( nErr == LUA_OK) + lua_pcall( m_pL, 0, 1, 0) ; // senza errori if ( nErr == LUA_OK && lua_type( m_pL, -1) == LUA_TSTRING) { sVal = lua_tostring( m_pL, -1) ; @@ -223,7 +227,9 @@ LuaMgr::ExecLine( const string& sLine) if ( m_pL == nullptr) return false ; // eseguo la linea - int nErr = luaL_loadstring( m_pL, sLine.c_str()) || lua_pcall( m_pL, 0, LUA_MULTRET, 0) ; + int nErr = luaL_loadstring( m_pL, sLine.c_str()) ; + if ( nErr == LUA_OK) + lua_pcall( m_pL, 0, LUA_MULTRET, 0) ; // senza errori if ( nErr == LUA_OK) { m_sLastError.clear() ; @@ -249,7 +255,9 @@ LuaMgr::ExecFile( const string& sFile) if ( m_pL == nullptr) return false ; // eseguo la linea - int nErr = luaL_loadfile( m_pL, sFile.c_str()) || lua_pcall( m_pL, 0, LUA_MULTRET, 0) ; + int nErr = luaL_loadfile( m_pL, sFile.c_str()) ; + if ( nErr == LUA_OK) + lua_pcall( m_pL, 0, LUA_MULTRET, 0) ; // senza errori if ( nErr == LUA_OK) { m_sLastError.clear() ;