Hello community,

here is the log from the commit of package perl-Cpanel-JSON-XS for 
openSUSE:Factory checked in at 2017-09-04 12:37:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Cpanel-JSON-XS"

Mon Sep  4 12:37:11 2017 rev:8 rq:520451 version:3.0238

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes  
2017-08-28 15:10:32.952533985 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new/perl-Cpanel-JSON-XS.changes 
    2017-09-04 12:37:12.636015097 +0200
@@ -1,0 +2,10 @@
+Sat Aug 26 05:16:44 UTC 2017 - co...@suse.com
+
+- updated to 3.0238
+   see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+  3.0238 2017-08-25 (rurban)
+          - Make printing of numbers on perl's earlier than 5.22 locale
+          insensitive, to produce a dot as decimal sep. (#96)
+
+-------------------------------------------------------------------

Old:
----
  Cpanel-JSON-XS-3.0237.tar.gz

New:
----
  Cpanel-JSON-XS-3.0238.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.9nrW0X/_old  2017-09-04 12:37:13.271925631 +0200
+++ /var/tmp/diff_new_pack.9nrW0X/_new  2017-09-04 12:37:13.271925631 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Cpanel-JSON-XS
-Version:        3.0237
+Version:        3.0238
 Release:        0
 %define cpan_name Cpanel-JSON-XS
 Summary:        Cpanel Fork of Json::Xs, Fast and Correct Serializing

++++++ Cpanel-JSON-XS-3.0237.tar.gz -> Cpanel-JSON-XS-3.0238.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/.appveyor.yml 
new/Cpanel-JSON-XS-3.0238/.appveyor.yml
--- old/Cpanel-JSON-XS-3.0237/.appveyor.yml     2017-07-27 22:15:44.000000000 
+0200
+++ new/Cpanel-JSON-XS-3.0238/.appveyor.yml     2017-07-29 17:18:21.000000000 
+0200
@@ -45,4 +45,4 @@
 build: off
 
 test_script:
-  - cmd: 'call t\appveyor-test.bat'
+  - 't\appveyor-test.bat'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/.travis.yml 
new/Cpanel-JSON-XS-3.0238/.travis.yml
--- old/Cpanel-JSON-XS-3.0237/.travis.yml       2017-07-27 22:15:44.000000000 
+0200
+++ new/Cpanel-JSON-XS-3.0238/.travis.yml       2017-07-29 17:18:21.000000000 
+0200
@@ -59,7 +59,7 @@
 matrix:
   fast_finish: true
   include:
-    - perl: "5.26"
+    - perl: "5.18"
       env: COVERAGE=1 AUTHOR_TESTING=1  # enables coverage+coveralls reporting
   allow_failures:
     - env: COVERAGE=1 AUTHOR_TESTING=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/Changes 
new/Cpanel-JSON-XS-3.0238/Changes
--- old/Cpanel-JSON-XS-3.0237/Changes   2017-07-28 11:20:18.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/Changes   2017-08-25 21:36:52.000000000 +0200
@@ -2,6 +2,10 @@
 
 TODO: http://stevehanov.ca/blog/index.php?id=104 compression
 
+3.0238 2017-08-25 (rurban)
+        - Make printing of numbers on perl's earlier than 5.22 locale
+        insensitive, to produce a dot as decimal sep. (#96)
+
 3.0237 2017-07-28 (rurban)
         - relax inf/nan tests as in t/op/infnan.t for windows.
           we cannot know if msvcrt.dll or the new ucrt.dll is used.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/META.json 
new/Cpanel-JSON-XS-3.0238/META.json
--- old/Cpanel-JSON-XS-3.0237/META.json 2017-07-28 13:14:53.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/META.json 2017-08-25 22:52:34.000000000 +0200
@@ -48,6 +48,6 @@
          "url" : "https://github.com/rurban/Cpanel-JSON-XS";
       }
    },
-   "version" : "3.0237",
+   "version" : "3.0238",
    "x_serialization_backend" : "JSON::PP version 2.93"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/META.yml 
new/Cpanel-JSON-XS-3.0238/META.yml
--- old/Cpanel-JSON-XS-3.0237/META.yml  2017-07-28 13:14:53.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/META.yml  2017-08-25 22:52:34.000000000 +0200
@@ -23,5 +23,5 @@
   bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues
   license: http://dev.perl.org/licenses/
   repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '3.0237'
+version: '3.0238'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/README 
new/Cpanel-JSON-XS-3.0238/README
--- old/Cpanel-JSON-XS-3.0237/README    2017-07-28 13:14:54.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/README    2017-08-25 22:52:51.000000000 +0200
@@ -158,6 +158,8 @@
 
       - #72 parsing of illegal unicode or non-unicode characters.
 
+      - #96 locale-insensitive numeric conversion
+
     - public maintenance and bugtracker
 
     - use ppport.h, sanify XS.xs comment styles, harness C coding style
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/SIGNATURE 
new/Cpanel-JSON-XS-3.0238/SIGNATURE
--- old/Cpanel-JSON-XS-3.0237/SIGNATURE 2017-07-28 13:14:54.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/SIGNATURE 2017-08-25 22:52:51.000000000 +0200
@@ -14,17 +14,17 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 66ade5a767190219d6892f1e4d59fea22be138d8 .appveyor.yml
-SHA1 041783628ea621df1271501c341141be0c4cd0c2 .travis.yml
+SHA1 b1dc76bb84e636c3d4a32dc6676ae3259fa25aeb .appveyor.yml
+SHA1 dc43f44fb1538b019f6b00c3b761bcdef76e7d2b .travis.yml
 SHA1 9a56f3b919dfc8fced3803e165a2e38de62646e5 COPYING
-SHA1 05e39fba1f3550cca1f9d6f15fb2fd472b133fa6 Changes
+SHA1 49a2ea2313c4a80c9a1b17ac5a33e37b4aee5211 Changes
 SHA1 1cb5b409cb86b392753ca0ea2d6ba718f104b128 MANIFEST
-SHA1 0293f584ff61e62d9a5efea0bb74191a93eaae62 META.json
-SHA1 dc0b25e34b021a66f298791270c523c70812b347 META.yml
+SHA1 12c974bbab5e0fc50c25915021acbafc2ba1c5c3 META.json
+SHA1 3f227704a2b605b00db50cddf12c9e86bfe564bb META.yml
 SHA1 9f4e725e4e2fa7e255d1fce4314446c77da64035 Makefile.PL
-SHA1 ad85457cffa84dc07f9016b170f0ea7894a2b5eb README
-SHA1 9a3fda3cb684c8a4d482472640aa0e38de6e55a7 XS.pm
-SHA1 3022dd0522d14476779a21d7d9ad550bbea4a3a3 XS.xs
+SHA1 13237f66b5b6778d16cb6b3b272982de5915348d README
+SHA1 9512711c01a1f10c12c45290c55ac195e7cc374a XS.pm
+SHA1 b2294e2d6e251c43a8c27a931b5e85b44695ea79 XS.xs
 SHA1 27b0bc7e0cd6fe90876fb3d285065c6a07cca028 XS/Boolean.pm
 SHA1 9e4b04d1af085e6959aaed51734475d350136392 bin/cpanel_json_xs
 SHA1 ea72bbe602baaabdd0004ef1d7e7cc3334b42bb4 eg/bench
@@ -53,7 +53,7 @@
 SHA1 8dece990d5b07df0ae1b6364caefced774cb587d t/114_decode_prefix.t
 SHA1 eb050780996f1e428c87bf6375415ca4c863cbb2 t/115_tie_ixhash.t
 SHA1 3477b0490b8666e451ac15df97f9f35d72c946b1 t/116_incr_parse_fixed.t
-SHA1 5dc6d574882edd0d6c49ec3d5daeb8d9d4afc246 t/117_numbers.t
+SHA1 25ca035b576130cf560953df4e9daf68bdd96c3c t/117_numbers.t
 SHA1 d1003d09b5da3609977362bcda64b2c593039a6b t/11_pc_expo.t
 SHA1 c0037e62cefc891df4bb84a110051963a60e9f8c t/12_blessed.t
 SHA1 4d553fd6b5e4486f087babff2946e0cb4b2c38fb t/13_limit.t
@@ -69,7 +69,7 @@
 SHA1 3d155f37e687f929bd0cae767dc2dbf1993b73c9 t/22_comment_at_eof.t
 SHA1 1ffb0242c800720c565a9e148e184bfa9d54b1c4 t/23_array_ctx.t
 SHA1 2d2ccc7877250f80755a74acd0c3c2f21e606aae t/24_freeze_recursion.t
-SHA1 b1af7c633a8654de5180ae42289f8fe6d86263de t/25_boolean.t
+SHA1 bc1bf7bba31c320aed7164fe377957a0f6a8be57 t/25_boolean.t
 SHA1 b731e24e61fd24c19c7b2e636bf20b368fbc851e t/26_duplicate.t
 SHA1 7f4c74f3c46477c513a2baf07a60c94969d2e0e9 t/30_jsonspec.t
 SHA1 3705a4bc706627dde26e444f41342b88850cbe98 t/31_bom.t
@@ -434,7 +434,7 @@
 SHA1 e93c9b53438be114c25aa426742e24f4343057a7 typemap
 -----BEGIN PGP SIGNATURE-----
 
-iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWXscrQAKCRCabZJij/3J
-QuLWAJ9MygjIcjr3je/GWcbxuToLjGUADwCgi4KIy98+e+HNEpVgBKEy+pqXeec=
-=7QEI
+iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWaCOEwAKCRCabZJij/3J
+QpBjAJ4qTm8QvBv4LnkngrHyJ2nFFG14igCfc+lK4hL27HUiAW9k9ZUXdtXH9R4=
+=34bW
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/XS.pm 
new/Cpanel-JSON-XS-3.0238/XS.pm
--- old/Cpanel-JSON-XS-3.0237/XS.pm     2017-07-28 11:20:18.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/XS.pm     2017-08-25 21:38:24.000000000 +0200
@@ -1,5 +1,5 @@
 package Cpanel::JSON::XS;
-our $VERSION = '3.0237';
+our $VERSION = '3.0238';
 our $XS_VERSION = $VERSION;
 # $VERSION = eval $VERSION;
 
@@ -171,6 +171,8 @@
 
   - #72 parsing of illegal unicode or non-unicode characters.
 
+  - #96 locale-insensitive numeric conversion
+
 - public maintenance and bugtracker
 
 - use ppport.h, sanify XS.xs comment styles, harness C coding style
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/XS.xs 
new/Cpanel-JSON-XS-3.0238/XS.xs
--- old/Cpanel-JSON-XS-3.0237/XS.xs     2017-07-28 11:20:18.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0238/XS.xs     2017-08-25 21:35:30.000000000 +0200
@@ -28,6 +28,10 @@
 #define HAVE_BAD_POWL
 #endif
 
+#if PERL_VERSION < 22 && defined(HAS_SETLOCALE)
+#define NEED_NUMERIC_LOCALE_C
+#endif
+
 /* FIXME: still a refcount error */
 #define HAVE_DECODE_BOM
 #define UTF8BOM     "\357\273\277"      /* EF BB BF */
@@ -1387,6 +1391,9 @@
     {
       char *savecur, *saveend;
       char inf_or_nan = 0;
+#ifdef NEED_NUMERIC_LOCALE_C
+      char *locale = NULL;
+#endif
       NV nv = SvNVX(sv);
       /* trust that perl will do the right thing w.r.t. JSON syntax. */
       need (aTHX_ enc, NV_DIG + 32);
@@ -1406,11 +1413,22 @@
         }
       }
 #endif
+      /* locale insensitive sprintf radix #96 */
+#ifdef NEED_NUMERIC_LOCALE_C
+      locale = setlocale(LC_NUMERIC, NULL);
+      if (!locale || strNE(locale, "C")) {
+        setlocale(LC_NUMERIC, "C");
+      }
+#endif
 #ifdef USE_QUADMATH
       quadmath_snprintf(enc->cur, enc->end - enc->cur, "%.*Qg", (int)NV_DIG, 
nv);
 #else
       (void)Gconvert (nv, NV_DIG, 0, enc->cur);
 #endif
+#ifdef NEED_NUMERIC_LOCALE_C
+      if (locale)
+        setlocale(LC_NUMERIC, locale);
+#endif
 
 #ifdef STR_INF4
       if (UNLIKELY(strEQc(enc->cur, STR_INF)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/t/117_numbers.t 
new/Cpanel-JSON-XS-3.0238/t/117_numbers.t
--- old/Cpanel-JSON-XS-3.0237/t/117_numbers.t   2017-07-28 11:20:18.000000000 
+0200
+++ new/Cpanel-JSON-XS-3.0238/t/117_numbers.t   2017-08-25 21:43:09.000000000 
+0200
@@ -3,7 +3,7 @@
 use Test::More;
 use Config;
 plan skip_all => "Yet unhandled inf/nan with $^O" if $^O eq 'dec_osf';
-plan tests => 24;
+plan tests => 25;
 
 # infnan_mode = 0:
 is encode_json([9**9**9]),         '[null]', "inf -> null stringify_infnan(0)";
@@ -126,3 +126,10 @@
 $resnum = ($] > 5.007 && $] <= 5.010) ? '23' : '23.0';
 is encode_json({test => [$num, $str]}), qq|{"test":[$resnum,"bar"]}|,
   'int/string dualvar';
+
+{
+  use POSIX qw(setlocale);
+  setlocale(&POSIX::LC_ALL, "fr_FR.utf-8");
+  is encode_json({"invalid" => 123.45}), qq|{"invalid":123.45}|,
+    "numeric radix";
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0237/t/25_boolean.t 
new/Cpanel-JSON-XS-3.0238/t/25_boolean.t
--- old/Cpanel-JSON-XS-3.0237/t/25_boolean.t    2017-07-27 22:15:44.000000000 
+0200
+++ new/Cpanel-JSON-XS-3.0238/t/25_boolean.t    2017-07-29 17:18:21.000000000 
+0200
@@ -1,6 +1,7 @@
 use strict;
 use Test::More tests => 32;
 use Cpanel::JSON::XS ();
+use Config;
 
 my $booltrue  = q({"is_true":true});
 my $boolfalse = q({"is_false":false});
@@ -60,22 +61,28 @@
   is( $nonref_cjson->encode( do{utf8::is_utf8($utf8)} ), "true", "map 
do{utf8::is_utf8(\$utf8)} to true");
 }
 
-# GH #39
-# perl expression which evaluates to sv_no or sv_yes
-SKIP: {
-  # implemented in 5.16 but broken, works since 5.20
-  skip 'Perl 5.20 is needed for boolean tests based on !1 and !0', 4 if $] < 
5.020;
-  is( $nonref_cjson->encode( !1 ), "false", "map !1 to false");
-  is( $nonref_cjson->encode( !1 ), "false", "map !1 to false");
-  is( $nonref_cjson->encode( !0 ), "true", "map !0 to true");
-  is( $nonref_cjson->encode( !0 ), "true", "map !0 to true");
+# GH #39 stringification. enabled with 5.16, stable fix with 5.20
+if ($] < 5.020 && $Config{useithreads}) {
+  # random results threaded
+  my ($strue, $sfalse) = (qr/^(1|true)$/, qr/^(""||false)$/);
+  like( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+  like( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+  like( $nonref_cjson->encode( !0 ), $strue, "map !0 to 1/true");
+  like( $nonref_cjson->encode( !0 ), $strue, "map !0 to 1/true");
+} else {
+  # perl expression which evaluates to stable sv_no or sv_yes
+  my ($strue, $sfalse) = ("true", "false");
+  is( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+  is( $nonref_cjson->encode( !1 ), $sfalse, "map !1 to false");
+  is( $nonref_cjson->encode( !0 ), $strue, "map !0 to true");
+  is( $nonref_cjson->encode( !0 ), $strue, "map !0 to true");
 }
 
 $js = $cjson->decode( $truefalse );
 ok ($js->[0] == $true,  "decode true to yes");
 ok ($js->[1] == $false, "decode false to no");
-ok( Cpanel::JSON::XS::is_bool($js->[0]) );
-ok( Cpanel::JSON::XS::is_bool($js->[1]) );
+ok( Cpanel::JSON::XS::is_bool($js->[0]), "true is_bool");
+ok( Cpanel::JSON::XS::is_bool($js->[1]), "false is_bool");
 
 # GH #53
-ok( !Cpanel::JSON::XS::is_bool( [] ) );
+ok( !Cpanel::JSON::XS::is_bool( [] ), "[] !is_bool");


Reply via email to