70 int npc =
pcRel(pc, p);
74 if (npc == 0 || pc <= oldpc || newline !=
getline(p,
pcRel(oldpc, p)))
154 callTM(L, tm, t, key, val);
181 if (mt1 == mt2)
return tm1;
182 tm2 =
fasttm(L, mt2, event);
204 const char *l =
getstr(ls);
206 const char *r =
getstr(rs);
209 int temp = strcoll(l, r);
210 if (temp != 0)
return temp;
212 size_t len = strlen(l);
214 return (len == ll) ? 0 : 1;
219 l += len; ll -= len; r += len; lr -= len;
276 if (tm ==
NULL)
return 0;
289 }
else if (
tsvalue(top-1)->len == 0)
293 size_t tl =
tsvalue(top-1)->len;
297 for (n = 1; n < total &&
tostring(L, top-n-1); n++) {
298 size_t l =
tsvalue(top-n-1)->len;
304 for (i=n; i>0; i--) {
305 size_t l =
tsvalue(top-i)->len;
306 memcpy(buffer+tl,
svalue(top-i), l);
345#define runtime_check(L, c) { if (!(c)) break; }
347#define RA(i) (base+GETARG_A(i))
349#define RB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base+GETARG_B(i))
350#define RC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base+GETARG_C(i))
351#define RKB(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, \
352 ISK(GETARG_B(i)) ? k+INDEXK(GETARG_B(i)) : base+GETARG_B(i))
353#define RKC(i) check_exp(getCMode(GET_OPCODE(i)) == OpArgK, \
354 ISK(GETARG_C(i)) ? k+INDEXK(GETARG_C(i)) : base+GETARG_C(i))
355#define KBx(i) check_exp(getBMode(GET_OPCODE(i)) == OpArgK, k+GETARG_Bx(i))
358#define dojump(L,pc,i) {(pc) += (i); luai_threadyield(L);}
361#define Protect(x) { L->savedpc = pc; {x;}; base = L->base; }
364#define arith_op(op,tm) { \
365 TValue *rb = RKB(i); \
366 TValue *rc = RKC(i); \
367 if (ttisnumber(rb) && ttisnumber(rc)) { \
368 lua_Number nb = nvalue(rb), nc = nvalue(rc); \
369 setnvalue(ra, op(nb, nc)); \
372 Protect(Arith(L, ra, rb, rc, tm)); \
589 if (b != 0) L->
top = ra+b;
598 if (nresults >= 0) L->
top = L->
ci->
top;
609 if (b != 0) L->
top = ra+b;
618 StkId pfunc = (ci+1)->func;
621 for (aux = 0; pfunc+aux < L->
top; aux++)
623 ci->
top = L->
top = func+aux;
641 if (b != 0) L->
top = ra+b-1;
645 if (--nexeccalls == 0)
668 const TValue *plimit = ra+1;
669 const TValue *pstep = ra+2;
731 for (j=0; j<nup; j++, pc++) {
754 for (j = 0; j < b; j++) {
void luaG_concaterror(lua_State *L, StkId p1, StkId p2)
int luaG_checkopenop(Instruction i)
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)
int luaD_poscall(lua_State *L, StkId firstResult)
void luaD_callhook(lua_State *L, int event, int line)
#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)
#define luaC_barriert(L, t, v)
int luaO_rawequalObj(const TValue *t1, const TValue *t2)
int luaO_str2d(const char *s, lua_Number *result)
#define setbvalue(obj, x)
#define setnvalue(obj, x)
#define setclvalue(L, 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)
TValue * luaH_setnum(lua_State *L, Table *t, int key)
Table * luaH_new(lua_State *L, int narray, int nhash)
void luaH_resizearray(lua_State *L, Table *t, int nasize)
TValue * luaH_set(lua_State *L, Table *t, const TValue *key)
const TValue * luaT_gettmbyobj(lua_State *L, const TValue *o, TMS event)
#define LUA_TLIGHTUSERDATA
#define lua_number2str(s, n)
#define LUAI_MAXNUMBER2STR
static int call_orderTM(lua_State *L, const TValue *p1, const TValue *p2, TMS event)
static int call_binTM(lua_State *L, const TValue *p1, const TValue *p2, StkId res, TMS event)
static void callTMres(lua_State *L, StkId res, const TValue *f, const TValue *p1, const TValue *p2)
void luaV_concat(lua_State *L, int total, int last)
void luaV_execute(lua_State *L, int nexeccalls)
static void callTM(lua_State *L, const TValue *f, const TValue *p1, const TValue *p2, const TValue *p3)
int luaV_lessthan(lua_State *L, const TValue *l, const TValue *r)
const TValue * luaV_tonumber(const TValue *obj, TValue *n)
int luaV_tostring(lua_State *L, StkId obj)
static void traceexec(lua_State *L, const Instruction *pc)
int luaV_equalval(lua_State *L, const TValue *t1, const TValue *t2)
#define runtime_check(L, c)
static const TValue * get_compTM(lua_State *L, Table *mt1, Table *mt2, TMS event)
static int lessequal(lua_State *L, const TValue *l, const TValue *r)
static int l_strcmp(const TString *ls, const TString *rs)
static void Arith(lua_State *L, StkId ra, const TValue *rb, const TValue *rc, TMS op)
#define equalobj(L, o1, o2)
char * luaZ_openspace(lua_State *L, Mbuffer *buff, size_t n)
#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
const Instruction * savedpc
const Instruction * savedpc