--- a/src/lvm.c +++ b/src/lvm.c @@ -281,7 +281,8 @@ int luaV_lessthan (lua_State *L, const T else return luai_numlt( nvalue_fast(l), cast_num(ivalue(r)) ); - } else if ((res = call_orderTM(L, l, r, TM_LT)) != -1) + } + if ((res = call_orderTM(L, l, r, TM_LT)) != -1) return res; return luaG_ordererror(L, l, r); @@ -319,7 +320,8 @@ static int lessequal (lua_State *L, cons else return luai_numle( nvalue_fast(l), cast_num(ivalue(r)) ); - } else if ((res = call_orderTM(L, l, r, TM_LE)) != -1) /* first try `le' */ + } + if ((res = call_orderTM(L, l, r, TM_LE)) != -1) /* first try `le' */ return res; else if ((res = call_orderTM(L, r, l, TM_LT)) != -1) /* else try `lt' */ return !res;