diff options
-rw-r--r-- | ext/Storable/Storable.xs | 2 | ||||
-rw-r--r-- | ext/Storable/t/integer.t | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/ext/Storable/Storable.xs b/ext/Storable/Storable.xs index 86f8b65752..41dffca1d5 100644 --- a/ext/Storable/Storable.xs +++ b/ext/Storable/Storable.xs @@ -1960,7 +1960,7 @@ static int store_scalar(stcxt_t *cxt, SV *sv) #else SvIV_please(sv); - if (SvIOK(sv)) { + if (SvIOK_notUV(sv)) { iv = SvIV(sv); goto integer; /* Share code above */ } diff --git a/ext/Storable/t/integer.t b/ext/Storable/t/integer.t index 8b0e6c4bab..ec7961eb15 100644 --- a/ext/Storable/t/integer.t +++ b/ext/Storable/t/integer.t @@ -64,6 +64,8 @@ my @numbers = 0x7FFFFFFF, 0x80000000, 0x80000001, 0xFFFFFFFF, 0xDEADBEEF, # UV bounds $max_iv_p1, $max_uv_m1, $max_uv, $lots_of_9C, + # NV-UV conversion + 2559831922.0, ); plan tests => @processes * @numbers * 5; |