summaryrefslogtreecommitdiff
path: root/src/lj_ffrecord.c
diff options
context:
space:
mode:
authorMike Pall <mike>2011-02-06 12:23:58 +0100
committerMike Pall <mike>2011-02-06 12:23:58 +0100
commitbf58160b7aa21d15b710f948d160da277a02a613 (patch)
tree2db9391ef5c8d2ac401dfe3673de4c68af506290 /src/lj_ffrecord.c
parent4c74f704644c2f843cb304aba0c901723097ff14 (diff)
downloadluajit-bf58160b7aa21d15b710f948d160da277a02a613.tar.gz
luajit-bf58160b7aa21d15b710f948d160da277a02a613.tar.bz2
luajit-bf58160b7aa21d15b710f948d160da277a02a613.zip
FFI: Simplify and fix tonumber() for cdata objects.
Diffstat (limited to '')
-rw-r--r--src/lj_ffrecord.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/lj_ffrecord.c b/src/lj_ffrecord.c
index 2296dac6..5b618a80 100644
--- a/src/lj_ffrecord.c
+++ b/src/lj_ffrecord.c
@@ -253,13 +253,13 @@ static void LJ_FASTCALL recff_select(jit_State *J, RecordFFData *rd)
253static void LJ_FASTCALL recff_tonumber(jit_State *J, RecordFFData *rd) 253static void LJ_FASTCALL recff_tonumber(jit_State *J, RecordFFData *rd)
254{ 254{
255 TRef tr = J->base[0]; 255 TRef tr = J->base[0];
256 TRef base = J->base[1];
257 if (tr && base) {
258 base = lj_ir_toint(J, base);
259 if (!tref_isk(base) || IR(tref_ref(base))->i != 10)
260 recff_nyiu(J);
261 }
256 if (tref_isnumber_str(tr)) { 262 if (tref_isnumber_str(tr)) {
257 TRef base = J->base[1];
258 if (base) {
259 base = lj_ir_toint(J, base);
260 if (!tref_isk(base) || IR(tref_ref(base))->i != 10)
261 recff_nyiu(J);
262 }
263 if (tref_isstr(tr)) { 263 if (tref_isstr(tr)) {
264 TValue tmp; 264 TValue tmp;
265 if (!lj_str_tonum(strV(&rd->argv[0]), &tmp)) 265 if (!lj_str_tonum(strV(&rd->argv[0]), &tmp))