Если lua_pcall возвращает ошибку, остаются ли все еще возвращаемые значения в стеке?
Предположим, я вызываю функцию Lua из C, которая возвращает один результат. Если он возвращает ошибку, результаты все еще будут в стеке?
Например, если первый lua_pop
в следующем коде существуют?
if (lua_pcall(L, nArgs, 1, 0)) {
lua_pop(L, 1); //should this exist?
DisplayLuaError(L);
return -1;
} else {
int x = lua_tonumber(L, -1);
lua_pop(1);
return x;
}