new type 'l_noret' for function that do not return
This commit is contained in:
16
lvm.c
16
lvm.c
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
** $Id: lvm.c,v 2.142 2011/08/09 20:58:29 roberto Exp roberto $
|
||||
** $Id: lvm.c,v 2.143 2011/08/17 20:26:47 roberto Exp roberto $
|
||||
** Lua virtual machine
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
@@ -226,9 +226,9 @@ int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r) {
|
||||
return luai_numlt(L, nvalue(l), nvalue(r));
|
||||
else if (ttisstring(l) && ttisstring(r))
|
||||
return l_strcmp(rawtsvalue(l), rawtsvalue(r)) < 0;
|
||||
else if ((res = call_orderTM(L, l, r, TM_LT)) != -1)
|
||||
return res;
|
||||
return luaG_ordererror(L, l, r);
|
||||
else if ((res = call_orderTM(L, l, r, TM_LT)) < 0)
|
||||
luaG_ordererror(L, l, r);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -238,11 +238,11 @@ int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r) {
|
||||
return luai_numle(L, nvalue(l), nvalue(r));
|
||||
else if (ttisstring(l) && ttisstring(r))
|
||||
return l_strcmp(rawtsvalue(l), rawtsvalue(r)) <= 0;
|
||||
else if ((res = call_orderTM(L, l, r, TM_LE)) != -1) /* first try `le' */
|
||||
else if ((res = call_orderTM(L, l, r, TM_LE)) >= 0) /* first try `le' */
|
||||
return res;
|
||||
else if ((res = call_orderTM(L, r, l, TM_LT)) != -1) /* else try `lt' */
|
||||
return !res;
|
||||
return luaG_ordererror(L, l, r);
|
||||
else if ((res = call_orderTM(L, r, l, TM_LT)) < 0) /* else try `lt' */
|
||||
luaG_ordererror(L, l, r);
|
||||
return !res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user