From 8eea66d9d76ead66ba7bdeb08e8490b0870169b8 Mon Sep 17 00:00:00 2001
From: Magnolia K <
[email protected]>
Date: Sat, 21 Jan 2017 13:33:56 +0900
Subject: [PATCH] Fixed deprecated warning
Incorporate the fixes made in Mojo::JSON below.
https://github.com/kraih/mojo/commit/d76e408bc98bda105466b208e71224d99cb88243
---
lib/JSON/Tiny.pm | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/lib/JSON/Tiny.pm b/lib/JSON/Tiny.pm
index fcf7470..af0451c 100644
--- a/lib/JSON/Tiny.pm
+++ b/lib/JSON/Tiny.pm
@@ -10,6 +10,7 @@ use Carp 'croak';
use Exporter 'import';
use Scalar::Util 'blessed';
use Encode ();
+use B;
our $VERSION = '0.56';
our @EXPORT_OK = qw(decode_json encode_json false from_json j to_json true);
@@ -265,16 +266,8 @@ sub _encode_value {
# Number (bitwise operators change behavior based on the internal value type)
- # "0" & $x will modify the flags on the "0" on perl < 5.14, so use a copy
- my $zero = "0";
- # "0" & $num -> 0. "0" & "" -> "". "0" & $string -> a character.
- # this maintains the internal type but speeds up the xor below.
- my $check = $zero & $value;
return $value
- if length $check
- # 0 ^ itself -> 0 (false)
- # $character ^ itself -> "\0" (true)
- && !($check ^ $check)
+ if B::svref_2object(\$value)->FLAGS & (B::SVp_IOK | B::SVp_NOK)
# filter out "upgraded" strings whose numeric form doesn't strictly match
&& 0 + $value eq $value
# filter out inf and nan
--
2.1.2