summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjussi2022-11-11 21:15:10 +0200
committerjussi2022-11-11 21:15:10 +0200
commit9da3fe67273b84f972f322735b0631947fcbc660 (patch)
tree8abdc893ec18f2f8d1c1e4a47b6e7d27b4b040d3 /src
parent921ed3b07f4e8c643161a08744b75562055077ff (diff)
downloadreilua-enhanced-9da3fe67273b84f972f322735b0631947fcbc660.tar.gz
reilua-enhanced-9da3fe67273b84f972f322735b0631947fcbc660.tar.bz2
reilua-enhanced-9da3fe67273b84f972f322735b0631947fcbc660.zip
Interpreter call lua file in safe mode.
Diffstat (limited to 'src')
-rw-r--r--src/main.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 2e07e37..0f935a1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -43,7 +43,17 @@ int main( int argn, const char **argc ) {
if ( interpret_mode ) {
stateInitInterpret();
- luaL_dofile( state->luaState, exePath );
+
+ lua_State *L = state->luaState;
+ lua_pushcfunction( L, luaTraceback );
+ int tracebackidx = lua_gettop( L );
+
+ luaL_loadfile( L, exePath );
+
+ if ( lua_pcall( L, 0, 0, tracebackidx ) != 0 ) {
+ TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) );
+ return false;
+ }
}
else {
printVersion();