Update JSON::PP from version 4.02 to 4.04
authorSteve Hay <steve.m.hay@googlemail.com>
Wed, 3 Jul 2019 12:55:33 +0000 (13:55 +0100)
committerSteve Hay <steve.m.hay@googlemail.com>
Thu, 4 Jul 2019 07:22:45 +0000 (08:22 +0100)
Porting/Maintainers.pl
cpan/JSON-PP/bin/json_pp
cpan/JSON-PP/lib/JSON/PP.pm
cpan/JSON-PP/lib/JSON/PP/Boolean.pm

index ebcc655..d8cb4c8 100755 (executable)
@@ -658,7 +658,7 @@ use File::Glob qw(:case);
     },
 
     'JSON::PP' => {
-        'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.02.tar.gz',
+        'DISTRIBUTION' => 'ISHIGAKI/JSON-PP-4.04.tar.gz',
         'FILES'        => q[cpan/JSON-PP],
     },
 
index 5f956b1..72b9db7 100644 (file)
@@ -3,6 +3,7 @@
 BEGIN { pop @INC if $INC[-1] eq '.' }
 use strict;
 use Getopt::Long;
+use Encode ();
 
 use JSON::PP ();
 
@@ -42,10 +43,17 @@ for my $opt (split /,/, $json_opt) {
 my %F = (
    'json' => sub {
       my $json = JSON::PP->new;
+      my $enc =
+         /^\x00\x00\x00/s  ? "utf-32be"
+       : /^\x00.\x00/s     ? "utf-16be"
+       : /^.\x00\x00\x00/s ? "utf-32le"
+       : /^.\x00.\x00/s    ? "utf-16le"
+       :                     "utf-8";
       for my $key (keys %json_opt) {
+        next if $key eq 'utf8';
         $json->$key($json_opt{$key});
       }
-      $json->decode( $_ );
+      $json->decode( Encode::decode($enc, $_) );
    },
    'eval' => sub {
         my $v = eval "no strict;\n#line 1 \"input\"\n$_";
@@ -84,8 +92,11 @@ $F{$opt_from}
 $T{$opt_to}
    or die "$opt_from: not a valid toformat\n";
 
-local $/;
-$_ = <STDIN>;
+{
+  local $/;
+  binmode STDIN;
+  $_ = <STDIN>;
+}
 
 $_ = $F{$opt_from}->();
 $_ = $T{$opt_to}->();
@@ -163,7 +174,7 @@ options to JSON::PP
 Acceptable options are:
 
     ascii latin1 utf8 pretty indent space_before space_after relaxed canonical allow_nonref
-    allow_singlequote allow_barekey allow_bignum loose escape_slash
+    allow_singlequote allow_barekey allow_bignum loose escape_slash indent_length
 
 Multiple options must be separated by commas:
 
index d8b7ab3..9f08354 100644 (file)
@@ -14,7 +14,7 @@ use JSON::PP::Boolean;
 use Carp ();
 #use Devel::Peek;
 
-$JSON::PP::VERSION = '4.02';
+$JSON::PP::VERSION = '4.04';
 
 @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
 
@@ -1773,7 +1773,7 @@ JSON::PP - JSON::XS compatible pure-Perl module.
 
 =head1 VERSION
 
-    4.02
+    4.04
 
 =head1 DESCRIPTION
 
index 8b98c95..8ef6949 100644 (file)
@@ -10,7 +10,7 @@ overload::import('overload',
     fallback => 1,
 );
 
-$JSON::PP::Boolean::VERSION = '4.02';
+$JSON::PP::Boolean::VERSION = '4.04';
 
 1;