diff options
| author | Mike Pall <mike> | 2025-11-27 17:45:17 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2025-11-27 17:45:17 +0100 |
| commit | f80b349d5490aa289b2925d297f3f3c618977570 (patch) | |
| tree | 8d8fb0d2beb3e863592139d603ada63e5aa6ce77 /src/lj_cdata.c | |
| parent | 3215838aa744d148e79a8ea0bd7c014e984302cb (diff) | |
| download | luajit-f80b349d5490aa289b2925d297f3f3c618977570.tar.gz luajit-f80b349d5490aa289b2925d297f3f3c618977570.tar.bz2 luajit-f80b349d5490aa289b2925d297f3f3c618977570.zip | |
Unify Lua number to FFI integer conversions.
Phew. #1411
Diffstat (limited to 'src/lj_cdata.c')
| -rw-r--r-- | src/lj_cdata.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/lj_cdata.c b/src/lj_cdata.c index 3b48f76c..2dc56a80 100644 --- a/src/lj_cdata.c +++ b/src/lj_cdata.c | |||
| @@ -133,12 +133,7 @@ collect_attrib: | |||
| 133 | idx = (ptrdiff_t)intV(key); | 133 | idx = (ptrdiff_t)intV(key); |
| 134 | goto integer_key; | 134 | goto integer_key; |
| 135 | } else if (tvisnum(key)) { /* Numeric key. */ | 135 | } else if (tvisnum(key)) { /* Numeric key. */ |
| 136 | #ifdef _MSC_VER | 136 | idx = lj_num2int_type(numV(key), ptrdiff_t); |
| 137 | /* Workaround for MSVC bug. */ | ||
| 138 | volatile | ||
| 139 | #endif | ||
| 140 | lua_Number n = numV(key); | ||
| 141 | idx = LJ_64 ? (ptrdiff_t)n : (ptrdiff_t)lj_num2int(n); | ||
| 142 | integer_key: | 137 | integer_key: |
| 143 | if (ctype_ispointer(ct->info)) { | 138 | if (ctype_ispointer(ct->info)) { |
| 144 | CTSize sz = lj_ctype_size(cts, ctype_cid(ct->info)); /* Element size. */ | 139 | CTSize sz = lj_ctype_size(cts, ctype_cid(ct->info)); /* Element size. */ |
