update lua to 5.3.5 and sol2 to 3.0.3

This commit is contained in:
2019-10-19 13:20:58 +07:00
parent c89edaf43c
commit a5c8b80176
169 changed files with 531 additions and 192 deletions

6
.gitmodules vendored
View File

@@ -40,3 +40,9 @@
[submodule "modules/spine"]
path = modules/spine
url = https://github.com/EsotericSoftware/spine-runtimes.git
[submodule "modules/lua"]
path = modules/lua
url = https://github.com/lua/lua
[submodule "modules/sol2"]
path = modules/sol2
url = https://github.com/ThePhD/sol2

7
headers/3rdparty/lua/lapi.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lapi.c,v 2.258 2016/01/05 16:07:21 roberto Exp roberto $
** $Id: lapi.c,v 2.259.1.2 2017/12/06 18:35:12 roberto Exp $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -533,6 +533,7 @@ LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) {
lua_lock(L);
if (n == 0) {
setfvalue(L->top, fn);
api_incr_top(L);
}
else {
CClosure *cl;
@@ -546,9 +547,9 @@ LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) {
/* does not need barrier because closure is white */
}
setclCvalue(L, L->top, cl);
api_incr_top(L);
luaC_checkGC(L);
}
api_incr_top(L);
luaC_checkGC(L);
lua_unlock(L);
}

2
headers/3rdparty/lua/lapi.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lapi.h,v 2.8 2014/07/15 21:26:50 roberto Exp roberto $
** $Id: lapi.h,v 2.9.1.1 2017/04/19 17:20:42 roberto Exp $
** Auxiliary functions from Lua API
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lauxlib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lauxlib.c,v 1.288 2016/12/04 20:17:24 roberto Exp roberto $
** $Id: lauxlib.c,v 1.289.1.1 2017/04/19 17:20:42 roberto Exp $
** Auxiliary functions for building Lua libraries
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lauxlib.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lauxlib.h,v 1.130 2016/12/04 20:17:24 roberto Exp roberto $
** $Id: lauxlib.h,v 1.131.1.1 2017/04/19 17:20:42 roberto Exp $
** Auxiliary functions for building Lua libraries
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lbaselib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lbaselib.c,v 1.313 2016/04/11 19:18:40 roberto Exp roberto $
** $Id: lbaselib.c,v 1.314.1.1 2017/04/19 17:39:34 roberto Exp $
** Basic library
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lbitlib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lbitlib.c,v 1.29 2015/10/08 15:55:35 roberto Exp roberto $
** $Id: lbitlib.c,v 1.30.1.1 2017/04/19 17:20:42 roberto Exp $
** Standard library for bitwise operations
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lcode.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lcode.c,v 2.111 2016/07/19 17:12:07 roberto Exp roberto $
** $Id: lcode.c,v 2.112.1.1 2017/04/19 17:20:42 roberto Exp $
** Code generator for Lua
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lcode.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lcode.h,v 1.63 2013/12/30 20:47:58 roberto Exp roberto $
** $Id: lcode.h,v 1.64.1.1 2017/04/19 17:20:42 roberto Exp $
** Code generator for Lua
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lcorolib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lcorolib.c,v 1.9 2014/11/02 19:19:04 roberto Exp roberto $
** $Id: lcorolib.c,v 1.10.1.1 2017/04/19 17:20:42 roberto Exp $
** Coroutine Library
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lctype.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lctype.c,v 1.11 2011/10/03 16:19:23 roberto Exp roberto $
** $Id: lctype.c,v 1.12.1.1 2017/04/19 17:20:42 roberto Exp $
** 'ctype' functions for Lua
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lctype.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lctype.h,v 1.11 2011/06/27 18:22:46 roberto Exp roberto $
** $Id: lctype.h,v 1.12.1.1 2013/04/12 18:48:47 roberto Exp $
** 'ctype' functions for Lua
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ldblib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldblib.c,v 1.150 2015/11/19 19:16:22 roberto Exp roberto $
** $Id: ldblib.c,v 1.151.1.1 2017/04/19 17:20:42 roberto Exp $
** Interface from Lua to its debug API
** See Copyright Notice in lua.h
*/

3
headers/3rdparty/lua/ldebug.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldebug.c,v 2.120 2016/03/31 19:01:21 roberto Exp roberto $
** $Id: ldebug.c,v 2.121.1.2 2017/07/10 17:21:50 roberto Exp $
** Debug Interface
** See Copyright Notice in lua.h
*/
@@ -653,6 +653,7 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, ...) {
CallInfo *ci = L->ci;
const char *msg;
va_list argp;
luaC_checkGC(L); /* error message uses memory */
va_start(argp, fmt);
msg = luaO_pushvfstring(L, fmt, argp); /* format message */
va_end(argp);

2
headers/3rdparty/lua/ldebug.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldebug.h,v 2.13 2015/03/11 16:10:41 roberto Exp roberto $
** $Id: ldebug.h,v 2.14.1.1 2017/04/19 17:20:42 roberto Exp $
** Auxiliary functions from Debug Interface module
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ldo.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldo.c,v 2.156 2016/09/20 16:37:45 roberto Exp roberto $
** $Id: ldo.c,v 2.157.1.1 2017/04/19 17:20:42 roberto Exp $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ldo.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldo.h,v 2.28 2015/11/23 11:29:43 roberto Exp roberto $
** $Id: ldo.h,v 2.29.1.1 2017/04/19 17:20:42 roberto Exp $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ldump.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ldump.c,v 2.36 2015/03/30 15:43:51 roberto Exp roberto $
** $Id: ldump.c,v 2.37.1.1 2017/04/19 17:20:42 roberto Exp $
** save precompiled Lua chunks
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lfunc.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lfunc.c,v 2.44 2014/10/25 11:50:46 roberto Exp roberto $
** $Id: lfunc.c,v 2.45.1.1 2017/04/19 17:39:34 roberto Exp $
** Auxiliary functions to manipulate prototypes and closures
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lfunc.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lfunc.h,v 2.14 2014/06/19 18:27:20 roberto Exp roberto $
** $Id: lfunc.h,v 2.15.1.1 2017/04/19 17:39:34 roberto Exp $
** Auxiliary functions to manipulate prototypes and closures
** See Copyright Notice in lua.h
*/

5
headers/3rdparty/lua/lgc.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lgc.c,v 2.214 2016/11/07 12:38:35 roberto Exp roberto $
** $Id: lgc.c,v 2.215.1.2 2017/08/31 16:15:27 roberto Exp $
** Garbage Collector
** See Copyright Notice in lua.h
*/
@@ -643,8 +643,9 @@ static void clearkeys (global_State *g, GCObject *l, GCObject *f) {
for (n = gnode(h, 0); n < limit; n++) {
if (!ttisnil(gval(n)) && (iscleared(g, gkey(n)))) {
setnilvalue(gval(n)); /* remove value ... */
removeentry(n); /* and remove entry from table */
}
if (ttisnil(gval(n))) /* is entry empty? */
removeentry(n); /* remove entry from table */
}
}
}

2
headers/3rdparty/lua/lgc.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lgc.h,v 2.90 2015/10/21 18:15:15 roberto Exp roberto $
** $Id: lgc.h,v 2.91.1.1 2017/04/19 17:39:34 roberto Exp $
** Garbage Collector
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/linit.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: linit.c,v 1.38 2015/01/05 13:48:33 roberto Exp roberto $
** $Id: linit.c,v 1.39.1.1 2017/04/19 17:20:42 roberto Exp $
** Initialization of libraries for lua.c and other clients
** See Copyright Notice in lua.h
*/

13
headers/3rdparty/lua/liolib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: liolib.c,v 2.150 2016/09/01 16:14:56 roberto Exp roberto $
** $Id: liolib.c,v 2.151.1.1 2017/04/19 17:29:57 roberto Exp $
** Standard I/O (and system) library
** See Copyright Notice in lua.h
*/
@@ -206,11 +206,16 @@ static int aux_close (lua_State *L) {
}
static int f_close (lua_State *L) {
tofile(L); /* make sure argument is an open stream */
return aux_close(L);
}
static int io_close (lua_State *L) {
if (lua_isnone(L, 1)) /* no argument? */
lua_getfield(L, LUA_REGISTRYINDEX, IO_OUTPUT); /* use standard output */
tofile(L); /* make sure argument is an open stream */
return aux_close(L);
return f_close(L);
}
@@ -712,7 +717,7 @@ static const luaL_Reg iolib[] = {
** methods for file handles
*/
static const luaL_Reg flib[] = {
{"close", io_close},
{"close", f_close},
{"flush", f_flush},
{"lines", f_lines},
{"read", f_read},

2
headers/3rdparty/lua/llex.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: llex.c,v 2.95 2015/11/19 19:16:22 roberto Exp roberto $
** $Id: llex.c,v 2.96.1.1 2017/04/19 17:20:42 roberto Exp $
** Lexical Analyzer
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/llex.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: llex.h,v 1.78 2014/10/29 15:38:24 roberto Exp roberto $
** $Id: llex.h,v 1.79.1.1 2017/04/19 17:20:42 roberto Exp $
** Lexical Analyzer
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/llimits.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: llimits.h,v 1.140 2015/10/21 18:40:47 roberto Exp roberto $
** $Id: llimits.h,v 1.141.1.1 2017/04/19 17:20:42 roberto Exp $
** Limits, basic types, and some other 'installation-dependent' definitions
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lmathlib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lmathlib.c,v 1.118 2016/12/20 18:37:00 roberto Exp roberto $
** $Id: lmathlib.c,v 1.119.1.1 2017/04/19 17:20:42 roberto Exp $
** Standard mathematical library
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lmem.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lmem.c,v 1.90 2015/03/03 18:18:29 roberto Exp roberto $
** $Id: lmem.c,v 1.91.1.1 2017/04/19 17:20:42 roberto Exp $
** Interface to Memory Manager
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lmem.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lmem.h,v 1.42 2014/12/19 13:45:40 roberto Exp roberto $
** $Id: lmem.h,v 1.43.1.1 2017/04/19 17:20:42 roberto Exp $
** Interface to Memory Manager
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/loadlib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: loadlib.c,v 1.129 2016/12/04 20:17:24 roberto Exp roberto $
** $Id: loadlib.c,v 1.130.1.1 2017/04/19 17:20:42 roberto Exp $
** Dynamic library loader for Lua
** See Copyright Notice in lua.h
**

5
headers/3rdparty/lua/lobject.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lobject.c,v 2.112 2016/06/27 13:15:08 roberto Exp roberto $
** $Id: lobject.c,v 2.113.1.1 2017/04/19 17:29:57 roberto Exp $
** Some generic functions over Lua objects
** See Copyright Notice in lua.h
*/
@@ -435,7 +435,8 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) {
}
case 'p': { /* a pointer */
char buff[4*sizeof(void *) + 8]; /* should be enough space for a '%p' */
int l = l_sprintf(buff, sizeof(buff), "%p", va_arg(argp, void *));
void *p = va_arg(argp, void *);
int l = lua_pointer2str(buff, sizeof(buff), p);
pushstr(L, buff, l);
break;
}

2
headers/3rdparty/lua/lobject.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lobject.h,v 2.116 2015/11/03 18:33:10 roberto Exp roberto $
** $Id: lobject.h,v 2.117.1.1 2017/04/19 17:39:34 roberto Exp $
** Type definitions for Lua objects
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lopcodes.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lopcodes.c,v 1.54 2014/11/02 19:19:04 roberto Exp roberto $
** $Id: lopcodes.c,v 1.55.1.1 2017/04/19 17:20:42 roberto Exp $
** Opcodes for Lua virtual machine
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lopcodes.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lopcodes.h,v 1.148 2014/10/25 11:50:46 roberto Exp roberto $
** $Id: lopcodes.h,v 1.149.1.1 2017/04/19 17:20:42 roberto Exp $
** Opcodes for Lua virtual machine
** See Copyright Notice in lua.h
*/

8
headers/3rdparty/lua/loslib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: loslib.c,v 1.64 2016/04/18 13:06:55 roberto Exp $
** $Id: loslib.c,v 1.65.1.1 2017/04/19 17:29:57 roberto Exp $
** Standard Operating System library
** See Copyright Notice in lua.h
*/
@@ -293,7 +293,8 @@ static int os_date (lua_State *L) {
else
stm = l_localtime(&t, &tmr);
if (stm == NULL) /* invalid date? */
luaL_error(L, "time result cannot be represented in this installation");
return luaL_error(L,
"time result cannot be represented in this installation");
if (strcmp(s, "*t") == 0) {
lua_createtable(L, 0, 9); /* 9 = number of fields */
setallfields(L, stm);
@@ -340,7 +341,8 @@ static int os_time (lua_State *L) {
setallfields(L, &ts); /* update fields with normalized values */
}
if (t != (time_t)(l_timet)t || t == (time_t)(-1))
luaL_error(L, "time result cannot be represented in this installation");
return luaL_error(L,
"time result cannot be represented in this installation");
l_pushtime(L, t);
return 1;
}

4
headers/3rdparty/lua/lparser.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lparser.c,v 2.154 2016/06/22 15:48:25 roberto Exp roberto $
** $Id: lparser.c,v 2.155.1.2 2017/04/29 18:11:40 roberto Exp $
** Lua Parser
** See Copyright Notice in lua.h
*/
@@ -1392,7 +1392,7 @@ static void test_then_block (LexState *ls, int *escapelist) {
luaK_goiffalse(ls->fs, &v); /* will jump to label if condition is true */
enterblock(fs, &bl, 0); /* must enter block before 'goto' */
gotostat(ls, v.t); /* handle goto/break */
skipnoopstat(ls); /* skip other no-op statements */
while (testnext(ls, ';')) {} /* skip colons */
if (block_follow(ls, 0)) { /* 'goto' is the entire block? */
leaveblock(fs);
return; /* and that is it */

2
headers/3rdparty/lua/lparser.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lparser.h,v 1.75 2015/12/17 15:44:50 roberto Exp roberto $
** $Id: lparser.h,v 1.76.1.1 2017/04/19 17:20:42 roberto Exp $
** Lua Parser
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lprefix.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lprefix.h,v 1.1 2014/11/03 15:12:44 roberto Exp roberto $
** $Id: lprefix.h,v 1.2.1.1 2017/04/19 17:20:42 roberto Exp $
** Definitions for Lua code that must come before any other header file
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lstate.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lstate.c,v 2.132 2015/11/02 16:01:41 roberto Exp roberto $
** $Id: lstate.c,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $
** Global State
** See Copyright Notice in lua.h
*/

20
headers/3rdparty/lua/lstate.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lstate.h,v 2.132 2016/10/19 12:31:42 roberto Exp roberto $
** $Id: lstate.h,v 2.133.1.1 2017/04/19 17:39:34 roberto Exp $
** Global State
** See Copyright Notice in lua.h
*/
@@ -26,6 +26,24 @@
** 'tobefnz': all objects ready to be finalized;
** 'fixedgc': all objects that are not to be collected (currently
** only small strings, such as reserved words).
**
** Moreover, there is another set of lists that control gray objects.
** These lists are linked by fields 'gclist'. (All objects that
** can become gray have such a field. The field is not the same
** in all objects, but it always has this name.) Any gray object
** must belong to one of these lists, and all objects in these lists
** must be gray:
**
** 'gray': regular gray objects, still waiting to be visited.
** 'grayagain': objects that must be revisited at the atomic phase.
** That includes
** - black objects got in a write barrier;
** - all kinds of weak tables during propagation phase;
** - all threads.
** 'weak': tables with weak values to be cleared;
** 'ephemeron': ephemeron tables with white->white entries;
** 'allweak': tables with weak keys and/or weak values to be cleared.
** The last three lists are used only during the atomic phase.
*/

2
headers/3rdparty/lua/lstring.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lstring.c,v 2.55 2015/11/03 15:36:01 roberto Exp roberto $
** $Id: lstring.c,v 2.56.1.1 2017/04/19 17:20:42 roberto Exp $
** String table (keeps all strings handled by Lua)
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lstring.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lstring.h,v 1.60 2015/09/08 15:41:05 roberto Exp roberto $
** $Id: lstring.h,v 1.61.1.1 2017/04/19 17:20:42 roberto Exp $
** String table (keep all strings handled by Lua)
** See Copyright Notice in lua.h
*/

8
headers/3rdparty/lua/lstrlib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lstrlib.c,v 1.253 2016/12/20 18:37:00 roberto Exp roberto $
** $Id: lstrlib.c,v 1.254.1.1 2017/04/19 17:29:57 roberto Exp $
** Standard library for string operations and pattern-matching
** See Copyright Notice in lua.h
*/
@@ -879,7 +879,7 @@ static int lua_number2strx (lua_State *L, char *buff, int sz,
buff[i] = toupper(uchar(buff[i]));
}
else if (fmt[SIZELENMOD] != 'a')
luaL_error(L, "modifiers for format '%%a'/'%%A' not implemented");
return luaL_error(L, "modifiers for format '%%a'/'%%A' not implemented");
return n;
}
@@ -1199,8 +1199,8 @@ static int getnum (const char **fmt, int df) {
static int getnumlimit (Header *h, const char **fmt, int df) {
int sz = getnum(fmt, df);
if (sz > MAXINTSIZE || sz <= 0)
luaL_error(h->L, "integral size (%d) out of limits [1,%d]",
sz, MAXINTSIZE);
return luaL_error(h->L, "integral size (%d) out of limits [1,%d]",
sz, MAXINTSIZE);
return sz;
}

35
headers/3rdparty/lua/ltable.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltable.c,v 2.117 2015/11/19 19:16:22 roberto Exp roberto $
** $Id: ltable.c,v 2.118.1.4 2018/06/08 16:22:51 roberto Exp $
** Lua tables (hash)
** See Copyright Notice in lua.h
*/
@@ -223,7 +223,9 @@ static unsigned int computesizes (unsigned int nums[], unsigned int *pna) {
unsigned int na = 0; /* number of elements to go to array part */
unsigned int optimal = 0; /* optimal size for array part */
/* loop while keys can fill more than half of total size */
for (i = 0, twotoi = 1; *pna > twotoi / 2; i++, twotoi *= 2) {
for (i = 0, twotoi = 1;
twotoi > 0 && *pna > twotoi / 2;
i++, twotoi *= 2) {
if (nums[i] > 0) {
a += nums[i];
if (a > twotoi/2) { /* more than half elements present? */
@@ -330,17 +332,34 @@ static void setnodevector (lua_State *L, Table *t, unsigned int size) {
}
typedef struct {
Table *t;
unsigned int nhsize;
} AuxsetnodeT;
static void auxsetnode (lua_State *L, void *ud) {
AuxsetnodeT *asn = cast(AuxsetnodeT *, ud);
setnodevector(L, asn->t, asn->nhsize);
}
void luaH_resize (lua_State *L, Table *t, unsigned int nasize,
unsigned int nhsize) {
unsigned int i;
int j;
AuxsetnodeT asn;
unsigned int oldasize = t->sizearray;
int oldhsize = allocsizenode(t);
Node *nold = t->node; /* save old hash ... */
if (nasize > oldasize) /* array part must grow? */
setarrayvector(L, t, nasize);
/* create new hash part with appropriate size */
setnodevector(L, t, nhsize);
asn.t = t; asn.nhsize = nhsize;
if (luaD_rawrunprotected(L, auxsetnode, &asn) != LUA_OK) { /* mem. error? */
setarrayvector(L, t, oldasize); /* array back to its original size */
luaD_throw(L, LUA_ERRMEM); /* rethrow memory error */
}
if (nasize < oldasize) { /* array part must shrink? */
t->sizearray = nasize;
/* re-insert elements from vanishing slice */
@@ -610,13 +629,13 @@ void luaH_setint (lua_State *L, Table *t, lua_Integer key, TValue *value) {
}
static int unbound_search (Table *t, unsigned int j) {
unsigned int i = j; /* i is zero or a present index */
static lua_Unsigned unbound_search (Table *t, lua_Unsigned j) {
lua_Unsigned i = j; /* i is zero or a present index */
j++;
/* find 'i' and 'j' such that i is present and j is not */
while (!ttisnil(luaH_getint(t, j))) {
i = j;
if (j > cast(unsigned int, MAX_INT)/2) { /* overflow? */
if (j > l_castS2U(LUA_MAXINTEGER) / 2) { /* overflow? */
/* table was built with bad purposes: resort to linear search */
i = 1;
while (!ttisnil(luaH_getint(t, i))) i++;
@@ -626,7 +645,7 @@ static int unbound_search (Table *t, unsigned int j) {
}
/* now do a binary search between them */
while (j - i > 1) {
unsigned int m = (i+j)/2;
lua_Unsigned m = (i+j)/2;
if (ttisnil(luaH_getint(t, m))) j = m;
else i = m;
}
@@ -638,7 +657,7 @@ static int unbound_search (Table *t, unsigned int j) {
** Try to find a boundary in table 't'. A 'boundary' is an integer index
** such that t[i] is non-nil and t[i+1] is nil (and 0 if t[1] is nil).
*/
int luaH_getn (Table *t) {
lua_Unsigned luaH_getn (Table *t) {
unsigned int j = t->sizearray;
if (j > 0 && ttisnil(&t->array[j - 1])) {
/* there is a boundary in the array part: (binary) search for it */

4
headers/3rdparty/lua/ltable.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltable.h,v 2.22 2016/11/07 12:38:35 roberto Exp roberto $
** $Id: ltable.h,v 2.23.1.2 2018/05/24 19:39:05 roberto Exp $
** Lua tables (hash)
** See Copyright Notice in lua.h
*/
@@ -54,7 +54,7 @@ LUAI_FUNC void luaH_resize (lua_State *L, Table *t, unsigned int nasize,
LUAI_FUNC void luaH_resizearray (lua_State *L, Table *t, unsigned int nasize);
LUAI_FUNC void luaH_free (lua_State *L, Table *t);
LUAI_FUNC int luaH_next (lua_State *L, Table *t, StkId key);
LUAI_FUNC int luaH_getn (Table *t);
LUAI_FUNC lua_Unsigned luaH_getn (Table *t);
#if defined(LUA_DEBUG)

2
headers/3rdparty/lua/ltablib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltablib.c,v 1.92 2016/02/08 12:55:19 roberto Exp roberto $
** $Id: ltablib.c,v 1.93.1.1 2017/04/19 17:20:42 roberto Exp $
** Library for Table Manipulation
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ltests.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltests.c,v 2.210 2016/11/07 12:38:35 roberto Exp roberto $
** $Id: ltests.c,v 2.211.1.1 2017/04/19 17:39:34 roberto Exp $
** Internal Module for Debugging of the Lua Implementation
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ltests.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltests.h,v 2.49 2015/09/22 14:18:24 roberto Exp roberto $
** $Id: ltests.h,v 2.50.1.1 2017/04/19 17:20:42 roberto Exp $
** Internal Header for Debugging of the Lua Implementation
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ltm.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltm.c,v 2.37 2016/02/26 19:20:15 roberto Exp roberto $
** $Id: ltm.c,v 2.38.1.1 2017/04/19 17:39:34 roberto Exp $
** Tag methods
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/ltm.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: ltm.h,v 2.21 2014/10/25 11:50:46 roberto Exp roberto $
** $Id: ltm.h,v 2.22.1.1 2017/04/19 17:20:42 roberto Exp $
** Tag methods
** See Copyright Notice in lua.h
*/

8
headers/3rdparty/lua/lua.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lua.h,v 1.331 2016/05/30 15:53:28 roberto Exp roberto $
** $Id: lua.h,v 1.332.1.2 2018/06/13 16:58:17 roberto Exp $
** Lua - A Scripting Language
** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
** See Copyright Notice at the end of this file
@@ -19,11 +19,11 @@
#define LUA_VERSION_MAJOR "5"
#define LUA_VERSION_MINOR "3"
#define LUA_VERSION_NUM 503
#define LUA_VERSION_RELEASE "4"
#define LUA_VERSION_RELEASE "5"
#define LUA_VERSION "Lua " LUA_VERSION_MAJOR "." LUA_VERSION_MINOR
#define LUA_RELEASE LUA_VERSION "." LUA_VERSION_RELEASE
#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2017 Lua.org, PUC-Rio"
#define LUA_COPYRIGHT LUA_RELEASE " Copyright (C) 1994-2018 Lua.org, PUC-Rio"
#define LUA_AUTHORS "R. Ierusalimschy, L. H. de Figueiredo, W. Celes"
@@ -460,7 +460,7 @@ struct lua_Debug {
/******************************************************************************
* Copyright (C) 1994-2017 Lua.org, PUC-Rio.
* Copyright (C) 1994-2018 Lua.org, PUC-Rio.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the

9
headers/3rdparty/lua/luaconf.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: luaconf.h,v 1.258 2016/12/20 18:37:00 roberto Exp roberto $
** $Id: luaconf.h,v 1.259.1.1 2017/04/19 17:29:57 roberto Exp $
** Configuration file for Lua
** See Copyright Notice in lua.h
*/
@@ -620,6 +620,13 @@
#endif
/*
@@ lua_pointer2str converts a pointer to a readable string in a
** non-specified way.
*/
#define lua_pointer2str(buff,sz,p) l_sprintf(buff,sz,"%p",p)
/*
@@ lua_number2strx converts a float to an hexadecimal numeric string.
** In C99, 'sprintf' (with format specifiers '%a'/'%A') does that.

2
headers/3rdparty/lua/lualib.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lualib.h,v 1.44 2014/02/06 17:32:33 roberto Exp roberto $
** $Id: lualib.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $
** Lua standard libraries
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lundump.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lundump.c,v 2.43 2015/09/17 15:51:05 roberto Exp roberto $
** $Id: lundump.c,v 2.44.1.1 2017/04/19 17:20:42 roberto Exp $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lundump.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lundump.h,v 1.44 2014/06/19 18:27:20 roberto Exp roberto $
** $Id: lundump.h,v 1.45.1.1 2017/04/19 17:20:42 roberto Exp $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/

4
headers/3rdparty/lua/lutf8lib.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lutf8lib.c,v 1.15 2015/03/28 19:16:55 roberto Exp roberto $
** $Id: lutf8lib.c,v 1.16.1.1 2017/04/19 17:29:57 roberto Exp $
** Standard library for UTF-8 manipulation
** See Copyright Notice in lua.h
*/
@@ -171,7 +171,7 @@ static int byteoffset (lua_State *L) {
}
else {
if (iscont(s + posi))
luaL_error(L, "initial position is a continuation byte");
return luaL_error(L, "initial position is a continuation byte");
if (n < 0) {
while (n < 0 && posi > 0) { /* move back */
do { /* find beginning of previous character */

2
headers/3rdparty/lua/lvm.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lvm.c,v 2.267 2016/01/05 16:07:21 roberto Exp roberto $
** $Id: lvm.c,v 2.268.1.1 2017/04/19 17:39:34 roberto Exp $
** Lua virtual machine
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lvm.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lvm.h,v 2.40 2016/01/05 16:07:21 roberto Exp roberto $
** $Id: lvm.h,v 2.41.1.1 2017/04/19 17:20:42 roberto Exp $
** Lua virtual machine
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lzio.c vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lzio.c,v 1.36 2014/11/02 19:19:04 roberto Exp roberto $
** $Id: lzio.c,v 1.37.1.1 2017/04/19 17:20:42 roberto Exp $
** Buffered streams
** See Copyright Notice in lua.h
*/

2
headers/3rdparty/lua/lzio.h vendored Executable file → Normal file
View File

@@ -1,5 +1,5 @@
/*
** $Id: lzio.h,v 1.30 2014/12/19 17:26:14 roberto Exp roberto $
** $Id: lzio.h,v 1.31.1.1 2017/04/19 17:20:42 roberto Exp $
** Buffered streams
** See Copyright Notice in lua.h
*/

0
headers/3rdparty/sol/as_args.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/as_returns.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/base_traits.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/bind_traits.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/bytecode.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/call.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/compatibility.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/compatibility/compat-5.3.c.h vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/compatibility/compat-5.3.h vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/compatibility/version.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/config.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/config_setup.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/coroutine.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/debug.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/demangle.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/deprecate.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/dump_handler.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/ebco.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/environment.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/error.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/error_handler.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/feature_test.hpp vendored Executable file → Normal file
View File

2
headers/3rdparty/sol/forward.hpp vendored Executable file → Normal file
View File

@@ -39,10 +39,12 @@ extern "C" {
namespace sol {
class stateless_reference;
template <bool b>
class basic_reference;
using reference = basic_reference<false>;
using main_reference = basic_reference<true>;
class stateless_stack_reference;
class stack_reference;
template <typename A>

0
headers/3rdparty/sol/forward_detail.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_result.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_types.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_types_core.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_types_overloaded.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_types_stateful.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_types_stateless.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/function_types_templated.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/in_place.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/inheritance.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/load_result.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/lua_table.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/lua_value.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/make_reference.hpp vendored Executable file → Normal file
View File

0
headers/3rdparty/sol/map.hpp vendored Executable file → Normal file
View File

Some files were not shown because too many files have changed in this diff Show More