diff options
| author | Philipp Janda <siffiejoe@gmx.net> | 2017-09-14 00:27:15 +0200 |
|---|---|---|
| committer | Philipp Janda <siffiejoe@gmx.net> | 2017-09-14 00:27:15 +0200 |
| commit | f3b11608b9c54b83e54aba2cac8de07043a9849d (patch) | |
| tree | 6af8ab08b01f3873f6f10b5c1ea628f8d69c540c /c-api | |
| parent | 6f3deeaa6a4743e1f5148c613addb3f94a22d2df (diff) | |
| parent | 7320d58358de2d981135e7d8ef03eaed665bb2bc (diff) | |
| download | lua-compat-5.3-f3b11608b9c54b83e54aba2cac8de07043a9849d.tar.gz lua-compat-5.3-f3b11608b9c54b83e54aba2cac8de07043a9849d.tar.bz2 lua-compat-5.3-f3b11608b9c54b83e54aba2cac8de07043a9849d.zip | |
Merge branch 'ThePhD-feature/LUA_ERRGCMM'
Diffstat (limited to 'c-api')
| -rw-r--r-- | c-api/compat-5.3.c | 2 | ||||
| -rw-r--r-- | c-api/compat-5.3.h | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/c-api/compat-5.3.c b/c-api/compat-5.3.c index 883efb8..fab89c0 100644 --- a/c-api/compat-5.3.c +++ b/c-api/compat-5.3.c | |||
| @@ -110,7 +110,7 @@ COMPAT53_API void lua_len (lua_State *L, int i) { | |||
| 110 | case LUA_TUSERDATA: | 110 | case LUA_TUSERDATA: |
| 111 | if (luaL_callmeta(L, i, "__len")) | 111 | if (luaL_callmeta(L, i, "__len")) |
| 112 | break; | 112 | break; |
| 113 | /* maybe fall through */ | 113 | /* FALLTHROUGH */ |
| 114 | default: | 114 | default: |
| 115 | luaL_error(L, "attempt to get length of a %s value", | 115 | luaL_error(L, "attempt to get length of a %s value", |
| 116 | lua_typename(L, lua_type(L, i))); | 116 | lua_typename(L, lua_type(L, i))); |
diff --git a/c-api/compat-5.3.h b/c-api/compat-5.3.h index bee77a1..6c76930 100644 --- a/c-api/compat-5.3.h +++ b/c-api/compat-5.3.h | |||
| @@ -88,6 +88,19 @@ extern "C" { | |||
| 88 | # define LUA_OPLE 2 | 88 | # define LUA_OPLE 2 |
| 89 | #endif | 89 | #endif |
| 90 | 90 | ||
| 91 | /* LuaJIT/Lua 5.1 does not have the updated | ||
| 92 | * error codes for thread status/function returns (but some patched versions do) | ||
| 93 | * define it only if it's not found | ||
| 94 | */ | ||
| 95 | #if !defined(LUA_ERRGCMM) | ||
| 96 | /* Use + 2 because in some versions of Lua (Lua 5.1) | ||
| 97 | * LUA_ERRFILE is defined as (LUA_ERRERR+1) | ||
| 98 | * so we need to avoid it (LuaJIT might have something at this | ||
| 99 | * integer value too) | ||
| 100 | */ | ||
| 101 | # define LUA_ERRGCMM (LUA_ERRERR + 2) | ||
| 102 | #endif /* LUA_ERRGCMM define */ | ||
| 103 | |||
| 91 | typedef size_t lua_Unsigned; | 104 | typedef size_t lua_Unsigned; |
| 92 | 105 | ||
| 93 | typedef struct luaL_Buffer_53 { | 106 | typedef struct luaL_Buffer_53 { |
| @@ -186,6 +199,9 @@ COMPAT53_API int luaL_execresult (lua_State *L, int stat); | |||
| 186 | #define lua_pcallk(L, na, nr, err, ctx, cont) \ | 199 | #define lua_pcallk(L, na, nr, err, ctx, cont) \ |
| 187 | ((void)(ctx), (void)(cont), lua_pcall((L), (na), (nr), (err))) | 200 | ((void)(ctx), (void)(cont), lua_pcall((L), (na), (nr), (err))) |
| 188 | 201 | ||
| 202 | #define lua_resume(L, from, nargs) \ | ||
| 203 | ((void)(from), lua_resume((L), (nargs))) | ||
| 204 | |||
| 189 | #define luaL_buffinit COMPAT53_CONCAT(COMPAT53_PREFIX, _buffinit_53) | 205 | #define luaL_buffinit COMPAT53_CONCAT(COMPAT53_PREFIX, _buffinit_53) |
| 190 | COMPAT53_API void luaL_buffinit (lua_State *L, luaL_Buffer_53 *B); | 206 | COMPAT53_API void luaL_buffinit (lua_State *L, luaL_Buffer_53 *B); |
| 191 | 207 | ||
