diff options
Diffstat (limited to 'ltm.c')
| -rw-r--r-- | ltm.c | 8 |
1 files changed, 6 insertions, 2 deletions
| @@ -205,9 +205,13 @@ int luaT_callorderTM (lua_State *L, const TValue *p1, const TValue *p2, | |||
| 205 | 205 | ||
| 206 | 206 | ||
| 207 | int luaT_callorderiTM (lua_State *L, const TValue *p1, int v2, | 207 | int luaT_callorderiTM (lua_State *L, const TValue *p1, int v2, |
| 208 | int inv, TMS event) { | 208 | int inv, int isfloat, TMS event) { |
| 209 | TValue aux; const TValue *p2; | 209 | TValue aux; const TValue *p2; |
| 210 | setivalue(&aux, v2); | 210 | if (isfloat) { |
| 211 | setfltvalue(&aux, cast_num(v2)); | ||
| 212 | } | ||
| 213 | else | ||
| 214 | setivalue(&aux, v2); | ||
| 211 | if (inv) { /* arguments were exchanged? */ | 215 | if (inv) { /* arguments were exchanged? */ |
| 212 | p2 = p1; p1 = &aux; /* correct them */ | 216 | p2 = p1; p1 = &aux; /* correct them */ |
| 213 | } | 217 | } |
