diff options
Diffstat (limited to '')
| -rw-r--r-- | src/yue.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/yue.cpp b/src/yue.cpp index 1704b57..133a081 100644 --- a/src/yue.cpp +++ b/src/yue.cpp | |||
| @@ -37,7 +37,12 @@ int luaopen_yue(lua_State* L); | |||
| 37 | static void openlibs(void* state) { | 37 | static void openlibs(void* state) { |
| 38 | lua_State* L = static_cast<lua_State*>(state); | 38 | lua_State* L = static_cast<lua_State*>(state); |
| 39 | luaL_openlibs(L); | 39 | luaL_openlibs(L); |
| 40 | #if LUA_VERSION_NUM > 501 | ||
| 40 | luaL_requiref(L, "yue", luaopen_yue, 1); | 41 | luaL_requiref(L, "yue", luaopen_yue, 1); |
| 42 | #else | ||
| 43 | lua_pushcfunction(L, luaopen_yue); | ||
| 44 | lua_call(L, 0, 0); | ||
| 45 | #endif | ||
| 41 | lua_pop(L, 1); | 46 | lua_pop(L, 1); |
| 42 | } | 47 | } |
| 43 | 48 | ||
| @@ -238,7 +243,14 @@ int main(int narg, const char** args) { | |||
| 238 | if (success) { | 243 | if (success) { |
| 239 | if (retCount > 1) { | 244 | if (retCount > 1) { |
| 240 | for (int i = 1; i < retCount; ++i) { | 245 | for (int i = 1; i < retCount; ++i) { |
| 246 | #if LUA_VERSION_NUM > 501 | ||
| 241 | std::cout << Val << luaL_tolstring(L, -retCount + i, nullptr) << Stop; | 247 | std::cout << Val << luaL_tolstring(L, -retCount + i, nullptr) << Stop; |
| 248 | #else // LUA_VERSION_NUM | ||
| 249 | lua_getglobal(L, "tostring"); | ||
| 250 | lua_pushvalue(L, -retCount + i - 1); | ||
| 251 | lua_call(L, 1, 1); | ||
| 252 | std::cout << Val << lua_tostring(L, -1) << Stop; | ||
| 253 | #endif // LUA_VERSION_NUM | ||
| 242 | lua_pop(L, 1); | 254 | lua_pop(L, 1); |
| 243 | } | 255 | } |
| 244 | } | 256 | } |
