Если lua_pcall возвращает ошибку, остаются ли все еще возвращаемые значения в стеке? - PullRequest
0 голосов
/ 25 июня 2018

Предположим, я вызываю функцию 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;
}
...