1
0
mirror of https://github.com/janet-lang/janet synced 2025-11-15 06:47:17 +00:00

Update range checks for 64 bit integers.

This commit is contained in:
Calvin Rose
2020-06-27 11:23:47 -05:00
parent 6a187a384b
commit 51ff43e2f2
3 changed files with 39 additions and 18 deletions

View File

@@ -574,8 +574,12 @@ int janet_checksize(Janet x) {
if (!janet_checktype(x, JANET_NUMBER))
return 0;
double dval = janet_unwrap_number(x);
return dval == (double)((size_t) dval) &&
dval <= SIZE_MAX;
if (dval != (double)((size_t) dval)) return 0;
if (SIZE_MAX > JANET_INTMAX_INT64) {
return dval <= JANET_INTMAX_INT64;
} else {
return dval <= SIZE_MAX;
}
}
JanetTable *janet_get_core_table(const char *name) {