127 callTM(L, tm, t, key, val, 1);
166 callTM(L, tm, t, key, val, 0);
181 callTM(L, tm, p1, p2, res, 1);
191 if (mt1 == mt2)
return tm1;
192 tm2 =
fasttm(L, mt2, event);
210 const char *l =
getstr(ls);
212 const char *r =
getstr(rs);
215 int temp = strcoll(l, r);
216 if (temp != 0)
return temp;
218 size_t len = strlen(l);
220 return (len == ll) ? 0 : 1;
225 l += len; ll -= len; r += len; lr -= len;
273 else if (L ==
NULL)
return 0;
279 else if (L ==
NULL)
return 0;
287 if (tm ==
NULL)
return 0;
302 else if (
tsvalue(top-1)->len == 0)
309 size_t tl =
tsvalue(top-1)->len;
313 for (i = 1; i < total &&
tostring(L, top-i-1); i++) {
314 size_t l =
tsvalue(top-i-1)->len;
323 size_t l =
tsvalue(top-i)->len;
324 memcpy(buffer+tl,
svalue(top-i), l *
sizeof(
char));
356 callTM(L, tm, rb, rb, ra, 1);
385 for (i = 0; i < nup; i++) {
409 for (i = 0; i < nup; i++) {
451 int total =
cast_int(top - 1 - (base + b));
484#if !defined luai_runtimecheck
485#define luai_runtimecheck(L, c)
489#define RA(i) (base+GETARG_A(i))
491#define RB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base+GETARG_B(i))
492#define RC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base+GETARG_C(i))
493#define RKB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, \
494 ISK(GETARG_B(i)) ? k+INDEXK(GETARG_B(i)) : base+GETARG_B(i))
495#define RKC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgK, \
496 ISK(GETARG_C(i)) ? k+INDEXK(GETARG_C(i)) : base+GETARG_C(i))
498 (k + (GETARG_Bx(i) != 0 ? GETARG_Bx(i) - 1 : GETARG_Ax(*ci->u.l.savedpc++)))
502#define dojump(ci,i,e) \
503 { int a = GETARG_A(i); \
504 if (a > 0) luaF_close(L, ci->u.l.base + a - 1); \
505 ci->u.l.savedpc += GETARG_sBx(i) + e; }
508#define donextjump(ci) { i = *ci->u.l.savedpc; dojump(ci, i, 1); }
511#define Protect(x) { {x;}; base = ci->u.l.base; }
513#define checkGC(L,c) \
514 Protect( luaC_condGC(L,{L->top = (c); \
516 L->top = ci->top;}) \
517 luai_threadyield(L); )
520#define arith_op(op,tm) { \
521 TValue *rb = RKB(i); \
522 TValue *rc = RKC(i); \
523 if (ttisnumber(rb) && ttisnumber(rc)) { \
524 lua_Number nb = nvalue(rb), nc = nvalue(rc); \
525 setnvalue(ra, op(L, nb, nc)); \
527 else { Protect(luaV_arith(L, ra, rb, rc, tm)); } }
530#define vmdispatch(o) switch(o)
531#define vmcase(l,b) case l: {b} break;
532#define vmcasenb(l,b) case l: {b}
608 if (b != 0 || c != 0)
657 L->
top = base + c + 1;
662 checkGC(L, (ra >= rb ? ra + 1 : rb));
712 if (b != 0) L->
top = ra+b;
714 if (nresults >= 0) L->
top = ci->
top;
725 if (b != 0) L->
top = ra+b;
741 for (aux = 0; nfunc + aux < lim; aux++)
744 oci->
top = L->
top = ofunc + (L->
top - nfunc);
754 if (b != 0) L->
top = ra+b-1;
780 const TValue *plimit = ra+1;
781 const TValue *pstep = ra+2;
852 for (j = 0; j < b; j++) {
void luaG_concaterror(lua_State *L, StkId p1, StkId p2)
void luaG_aritherror(lua_State *L, const TValue *p1, const TValue *p2)
void luaG_runerror(lua_State *L, const char *fmt,...)
int luaG_ordererror(lua_State *L, const TValue *p1, const TValue *p2)
void luaG_typeerror(lua_State *L, const TValue *o, const char *op)
#define resethookcount(L)
int luaD_precall(lua_State *L, StkId func, int nresults)
void luaD_call(lua_State *L, StkId func, int nResults)
void luaD_throw(lua_State *L, int errcode)
int luaD_poscall(lua_State *L, StkId firstResult)
#define restorestack(L, n)
#define luaD_checkstack(L, n)
Closure * luaF_newLclosure(lua_State *L, int nelems, Table *e)
UpVal * luaF_findupval(lua_State *L, StkId level)
void luaF_close(lua_State *L, StkId level)
#define luaC_barrier(L, p, v)
int luaO_str2d(const char *s, lua_Number *result)
#define setbvalue(obj, x)
#define setnvalue(obj, x)
#define sethvalue(L, obj, x)
#define setobj(L, obj1, obj2)
#define LFIELDS_PER_FLUSH
TString * luaS_newlstr(lua_State *L, const char *str, size_t l)
const TValue * luaH_get(Table *t, const TValue *key)
Table * luaH_new(lua_State *L, int narray, int nhash)
void luaH_resizearray(lua_State *L, Table *t, int nasize)
const TValue * luaT_gettmbyobj(lua_State *L, const TValue *o, TMS event)
#define LUA_TLIGHTUSERDATA
#define lua_number2str(s, n)
#define LUAI_MAXNUMBER2STR
#define equalobj(L, o1, o2)
char * luaZ_openspace(lua_State *L, Mbuffer *buff, size_t n)
#define getfuncline(f, pc)
void luaD_hook(lua_State *L, int event, int line)
#define luaC_barrierback(L, p, v)
#define luaC_barrierproto(L, p, c)
lua_Number luaO_arith(int op, lua_Number v1, lua_Number v2)
#define ttisequal(o1, o2)
#define setclLvalue(L, obj, x)
int luaS_eqlngstr(TString *a, TString *b)
void luaH_resize(lua_State *L, Table *t, int nasize, int nhsize)
void luaH_setint(lua_State *L, Table *t, int key, TValue *value)
TValue * luaH_newkey(lua_State *L, Table *t, const TValue *key)
#define invalidateTMcache(t)
int luaV_lessequal(lua_State *L, const TValue *l, const TValue *r)
static int call_orderTM(lua_State *L, const TValue *p1, const TValue *p2, TMS event)
void luaV_concat(lua_State *L, int total)
void luaV_arith(lua_State *L, StkId ra, const TValue *rb, const TValue *rc, TMS op)
static const TValue * get_equalTM(lua_State *L, Table *mt1, Table *mt2, TMS event)
int luaV_equalobj_(lua_State *L, const TValue *t1, const TValue *t2)
static void pushclosure(lua_State *L, Proto *p, UpVal **encup, StkId base, StkId ra)
static int call_binTM(lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event)
int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r)
void luaV_finishOp(lua_State *L)
const TValue * luaV_tonumber(const TValue *obj, TValue *n)
static void traceexec(lua_State *L)
static void callTM(lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, TValue *p3, int hasres)
int luaV_tostring(lua_State *L, StkId obj)
void luaV_objlen(lua_State *L, StkId ra, const TValue *rb)
#define luai_runtimecheck(L, c)
void luaV_execute(lua_State *L)
static Closure * getcached(Proto *p, UpVal **encup, StkId base)
static int l_strcmp(const TString *ls, const TString *rs)
#define luaV_rawequalobj(o1, o2)
#define luai_nummul(L, a, b)
#define luai_numdiv(L, a, b)
#define luai_numpow(L, a, b)
#define luai_numunm(L, a)
#define luai_numsub(L, a, b)
#define luai_nummod(L, a, b, m)
#define luai_numadd(L, a, b)
#define luaV_gettable(L, t, k, v)
#define luaV_settable(L, t, k, v)
CURL_EXTERN CURLMcode curl_socket_t s
struct CallInfo * previous
struct CallInfo::@64::@65 l
const Instruction * savedpc
const Instruction * oldpc