aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2018-04-22 13:27:25 +0200
committerMike Pall <mike>2018-04-22 13:27:25 +0200
commit02b521981a1ab919ff2cd4d9bcaee80baf77dce2 (patch)
tree935d8b7402a6e4025e0b670eb6b08589df9ab365 /src
parent046129dbdda5261c1b17469a2895a113d14c070a (diff)
downloadluajit-02b521981a1ab919ff2cd4d9bcaee80baf77dce2.tar.gz
luajit-02b521981a1ab919ff2cd4d9bcaee80baf77dce2.tar.bz2
luajit-02b521981a1ab919ff2cd4d9bcaee80baf77dce2.zip
FFI: Add tonumber() specialization for failed conversions.
Contributed by Javier Guerra Giraldez.
Diffstat (limited to 'src')
-rw-r--r--src/lj_crecord.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lj_crecord.c b/src/lj_crecord.c
index 84fc49ee..bc88d635 100644
--- a/src/lj_crecord.c
+++ b/src/lj_crecord.c
@@ -1661,6 +1661,8 @@ void LJ_FASTCALL lj_crecord_tonumber(jit_State *J, RecordFFData *rd)
1661 d = ctype_get(cts, CTID_DOUBLE); 1661 d = ctype_get(cts, CTID_DOUBLE);
1662 J->base[0] = crec_ct_tv(J, d, 0, J->base[0], &rd->argv[0]); 1662 J->base[0] = crec_ct_tv(J, d, 0, J->base[0], &rd->argv[0]);
1663 } else { 1663 } else {
1664 /* Specialize to the ctype that couldn't be converted. */
1665 argv2cdata(J, J->base[0], &rd->argv[0]);
1664 J->base[0] = TREF_NIL; 1666 J->base[0] = TREF_NIL;
1665 } 1667 }
1666} 1668}