Hello community,

here is the log from the commit of package perl-Cpanel-JSON-XS for 
openSUSE:Factory checked in at 2017-04-11 09:36:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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"

Tue Apr 11 09:36:38 2017 rev:5 rq:483761 version:3.0231

Changes:
--------
Binary files 
/work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes and 
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new/perl-Cpanel-JSON-XS.changes 
differ

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

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

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

Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.iuAUfP/_old  2017-04-11 09:36:39.901109670 +0200
+++ /var/tmp/diff_new_pack.iuAUfP/_new  2017-04-11 09:36:39.905109105 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Cpanel-JSON-XS
-Version:        3.0230
+Version:        3.0231
 Release:        0
 %define cpan_name Cpanel-JSON-XS
 Summary:        Cpanel Fork of Json::Xs, Fast and Correct Serializing

++++++ Cpanel-JSON-XS-3.0230.tar.gz -> Cpanel-JSON-XS-3.0231.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/Changes 
new/Cpanel-JSON-XS-3.0231/Changes
--- old/Cpanel-JSON-XS-3.0230/Changes   2017-03-12 10:49:43.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/Changes   2017-03-29 11:49:31.000000000 +0200
@@ -2,6 +2,10 @@
 
 TODO: http://stevehanov.ca/blog/index.php?id=104 compression
 
+3.0231 2017-03-29 (rurban)
+        - Fix need() overallocation (#84 Matthew Horsfall) and missing
+        need() calls.
+
 3.0230 2017-03-12 (rurban)
         - Relax -Werror=declaration-after-statement for older gcc < 4.2
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/META.json 
new/Cpanel-JSON-XS-3.0231/META.json
--- old/Cpanel-JSON-XS-3.0230/META.json 2017-03-12 10:50:59.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/META.json 2017-03-29 11:50:36.000000000 +0200
@@ -49,6 +49,6 @@
          "url" : "https://github.com/rurban/Cpanel-JSON-XS";
       }
    },
-   "version" : "3.0230",
+   "version" : "3.0231",
    "x_serialization_backend" : "JSON::PP version 2.27400_02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/META.yml 
new/Cpanel-JSON-XS-3.0231/META.yml
--- old/Cpanel-JSON-XS-3.0230/META.yml  2017-03-12 10:50:59.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/META.yml  2017-03-29 11:50:36.000000000 +0200
@@ -24,5 +24,5 @@
   homepage: http://software.schmorp.de/pkg/JSON-XS.html
   license: http://dev.perl.org/licenses/
   repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '3.0230'
+version: '3.0231'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/Makefile.PL 
new/Cpanel-JSON-XS-3.0231/Makefile.PL
--- old/Cpanel-JSON-XS-3.0230/Makefile.PL       2017-03-12 10:50:48.000000000 
+0100
+++ new/Cpanel-JSON-XS-3.0231/Makefile.PL       2017-03-12 11:01:17.000000000 
+0100
@@ -6,8 +6,11 @@
 # https://gcc.gnu.org/onlinedocs/gcc-4.0.0/gcc/Warning-Options.html
 if ($Config{gccversion} and $Config{gccversion} =~ /^(\d+\.\d+)\./) {
     my $gccver = $1;
-    $define = '-Wall -Werror=declaration-after-statement -Wextra -W'
-      if $gccver >= 4.2;
+    if ($gccver >= 4.3) {
+        $define = '-Wall -Werror=declaration-after-statement -Wextra -W';
+    } elsif ($gccver >= 3.4) {
+        $define = '-Wall -Wdeclaration-after-statement -Wextra -W';
+    }
 }
 
 WriteMakefile(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/SIGNATURE 
new/Cpanel-JSON-XS-3.0231/SIGNATURE
--- old/Cpanel-JSON-XS-3.0230/SIGNATURE 2017-03-12 10:51:00.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/SIGNATURE 2017-03-29 11:50:36.000000000 +0200
@@ -16,14 +16,14 @@
 
 SHA1 bddff1b119b111563d9c812b92e28289c3ea450e .travis.yml
 SHA1 9a56f3b919dfc8fced3803e165a2e38de62646e5 COPYING
-SHA1 6a735adb2ae447c8d3fea54a42ebdf02e8e676c1 Changes
+SHA1 258195875eaeefe55bef4e7f5b2d1b96a6479a95 Changes
 SHA1 7ebf5876b2d33d6ddcfd69e2541394c63537fcfd MANIFEST
-SHA1 2d2c80631cd5122bd003ea0747317750994e7b76 META.json
-SHA1 c61d45775e3be8b7016317e6da3e83a9edee1637 META.yml
-SHA1 33730f0ee35aa0104e84fa8ca8ae90e6ccd9a48c Makefile.PL
+SHA1 4e1e40812bc44d98cad6ab814883338be720e25d META.json
+SHA1 90b8dbdd1f0a4443126142a73883ef62363dbf07 META.yml
+SHA1 bfc1c41215d67b1fc5e3cfbec7ceadf8ca33a206 Makefile.PL
 SHA1 5f9c081e4f784fbfccc7df27bf386da13f3b6301 README
-SHA1 1c5fbaa4de8028f714e76c0434af5a9010cb960c XS.pm
-SHA1 8a3f3edb3d37a7b96b06cbbcdefc33bdc45eb959 XS.xs
+SHA1 9544213d13c4a51b8898fa4b0aa53ce2b01a60f2 XS.pm
+SHA1 e9018c9c1ce1d50d352b32e2183c177514fec4f0 XS.xs
 SHA1 27b0bc7e0cd6fe90876fb3d285065c6a07cca028 XS/Boolean.pm
 SHA1 9e4b04d1af085e6959aaed51734475d350136392 bin/cpanel_json_xs
 SHA1 ea72bbe602baaabdd0004ef1d7e7cc3334b42bb4 eg/bench
@@ -46,7 +46,7 @@
 SHA1 446e9e23fbb26aca73c0c1cb168c6c31a68c9fb8 t/108_decode.t
 SHA1 d4d774595e581777fb13219a211c819c1d2f8575 t/109_encode.t
 SHA1 849b88cb5f17ca6c2324c78e1c4cb1d7857caccb t/10_pc_keysort.t
-SHA1 cb666101c085d398374238e991624e703220c39b t/110_bignum.t
+SHA1 c7eafd2e355b664d969f9ca2d5a9874e70cc0396 t/110_bignum.t
 SHA1 b007b686bb590e5eed3976edc78310437ae169d4 t/112_upgrade.t
 SHA1 01a0a0644343059c7185cb0b3b00b869d5211e1d t/113_overloaded_eq.t
 SHA1 8dece990d5b07df0ae1b6364caefced774cb587d t/114_decode_prefix.t
@@ -424,13 +424,13 @@
 SHA1 741e9e8bf600c7f7441794fe49ea8904cfd4bf58 t/z_perl_minimum_version.t
 SHA1 d91cc1b39fcb1dbf23c11ebb5885cfaaeb2c3a50 t/z_pod-coverage.t
 SHA1 2eb526b1649c6306df677d7ae63433856b672476 t/z_pod-spell-mistakes.t
-SHA1 6f532d207153835d9abe3360d85cb8f00c09bbfe t/z_pod-spelling.t
+SHA1 6e74cfbeb5080643d126b9d74f2f7e6dad26b013 t/z_pod-spelling.t
 SHA1 8db603172315dd0853ecc383dba4945c5b673e8f t/z_pod.t
 SHA1 3b92cafada1b683bbf03593d22eb40671e744bc7 t/zero-mojibake.t
 SHA1 e93c9b53438be114c25aa426742e24f4343057a7 typemap
 -----BEGIN PGP SIGNATURE-----
 
-iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWMUaBAAKCRCabZJij/3J
-QkuVAJkBzJ/sKatQVRX2xw87kuVD+9YDWwCdEjShJOLSAd2+4kRv469YBo9bVLc=
-=HEXK
+iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWNuDbAAKCRCabZJij/3J
+Qq3rAJ9UoqzCSlLFGL4czmFQzCaE84BbUwCePETrwmRO36yYTtlPPlpjSgo1kcc=
+=18pg
 -----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/XS.pm 
new/Cpanel-JSON-XS-3.0231/XS.pm
--- old/Cpanel-JSON-XS-3.0230/XS.pm     2017-03-12 10:25:48.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/XS.pm     2017-03-29 11:45:19.000000000 +0200
@@ -1,5 +1,5 @@
 package Cpanel::JSON::XS;
-our $VERSION = '3.0230';
+our $VERSION = '3.0231';
 our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/XS.xs 
new/Cpanel-JSON-XS-3.0231/XS.xs
--- old/Cpanel-JSON-XS-3.0230/XS.xs     2017-03-10 15:06:22.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/XS.xs     2017-03-29 11:45:19.000000000 +0200
@@ -681,6 +681,9 @@
 INLINE void
 need (pTHX_ enc_t *enc, STRLEN len)
 {
+  DEBUG_v(Perl_deb(aTHX_ "need enc: %p %p %4ld, want: %ld\n", enc->cur, 
enc->end,
+                   enc->end - enc->cur, (long)len));
+  assert(enc->cur <= enc->end);
   if (UNLIKELY(enc->cur + len >= enc->end))
     {
       STRLEN cur = enc->cur - (char *)SvPVX (enc->sv);
@@ -717,44 +720,58 @@
   while (str < end)
     {
       unsigned char ch = *(unsigned char *)str;
+      DEBUG_v(Perl_deb(aTHX_ "str  enc: %p %p %4ld, want: %lu\n", enc->cur, 
enc->end,
+                       enc->end - enc->cur, (long unsigned)len));
 
       if (LIKELY(ch >= 0x20 && ch < 0x80)) /* most common case */
         {
+          assert(enc->cur <= enc->end);
           if (UNLIKELY(ch == '"')) /* but with slow exceptions */
             {
-              need (aTHX_ enc, len += 1);
+              need (aTHX_ enc, 2);
               *enc->cur++ = '\\';
               *enc->cur++ = '"';
+              ++len;
             }
           else if (UNLIKELY(ch == '\\'))
             {
-              need (aTHX_ enc, len += 1);
+              need (aTHX_ enc, 2);
               *enc->cur++ = '\\';
               *enc->cur++ = '\\';
+              ++len;
             }
           else if (UNLIKELY(ch == '/' && (enc->json.flags & F_ESCAPE_SLASH)))
             {
-              need (aTHX_ enc, len += 1);
+              need (aTHX_ enc, 2);
               *enc->cur++ = '\\';
               *enc->cur++ = '/';
+              ++len;
             }
-          else
+          else {
+            need (aTHX_ enc, 1);
             *enc->cur++ = ch;
+          }
 
           ++str;
         }
       else
         {
+          assert(enc->cur <= enc->end);
           switch (ch)
             {
-              case '\010': need (aTHX_ enc, len += 1); *enc->cur++ = '\\'; 
*enc->cur++ = 'b'; ++str; break;
-              case '\011': need (aTHX_ enc, len += 1); *enc->cur++ = '\\'; 
*enc->cur++ = 't'; ++str; break;
-              case '\012': need (aTHX_ enc, len += 1); *enc->cur++ = '\\'; 
*enc->cur++ = 'n'; ++str; break;
-              case '\014': need (aTHX_ enc, len += 1); *enc->cur++ = '\\'; 
*enc->cur++ = 'f'; ++str; break;
-              case '\015': need (aTHX_ enc, len += 1); *enc->cur++ = '\\'; 
*enc->cur++ = 'r'; ++str; break;
+            case '\010': need (aTHX_ enc, 2);
+              *enc->cur++ = '\\'; *enc->cur++ = 'b'; ++len; ++str; break;
+            case '\011': need (aTHX_ enc, 2);
+              *enc->cur++ = '\\'; *enc->cur++ = 't'; ++len; ++str; break;
+            case '\012': need (aTHX_ enc, 2);
+              *enc->cur++ = '\\'; *enc->cur++ = 'n'; ++len; ++str; break;
+            case '\014': need (aTHX_ enc, 2);
+              *enc->cur++ = '\\'; *enc->cur++ = 'f'; ++len; ++str; break;
+            case '\015': need (aTHX_ enc, 2);
+              *enc->cur++ = '\\'; *enc->cur++ = 'r'; ++len; ++str; break;
 
-              default:
-                {
+            default:
+              {
                   STRLEN clen;
                   UV uch;
 
@@ -776,49 +793,55 @@
                      if (enc->json.flags & F_BINARY)
                        {
                           /* MB cannot arrive here */
-                          need (aTHX_ enc, len += 3);
+                          need (aTHX_ enc, 4);
                           *enc->cur++ = '\\';
                           *enc->cur++ = 'x';
                           *enc->cur++ = PL_hexdigit [(uch >>  4) & 15];
                           *enc->cur++ = PL_hexdigit [ uch & 15];
+                          len += 3;
                        }
                       else if (uch >= 0x10000UL)
                         {
                           if (uch >= 0x110000UL)
                             croak ("out of range codepoint (0x%lx) 
encountered, unrepresentable in JSON", (unsigned long)uch);
 
-                          need (aTHX_ enc, len += 11);
+                          need (aTHX_ enc, 12);
                           sprintf (enc->cur, "\\u%04x\\u%04x",
                                    (int)((uch - 0x10000) / 0x400 + 0xD800),
                                    (int)((uch - 0x10000) % 0x400 + 0xDC00));
                           enc->cur += 12;
+                          len += 11;
                         }
                      else
                         {
-                          need (aTHX_ enc, len += 5);
+                          need (aTHX_ enc, 6);
                           *enc->cur++ = '\\';
                           *enc->cur++ = 'u';
                           *enc->cur++ = PL_hexdigit [ uch >> 12      ];
                           *enc->cur++ = PL_hexdigit [(uch >>  8) & 15];
                           *enc->cur++ = PL_hexdigit [(uch >>  4) & 15];
                           *enc->cur++ = PL_hexdigit [ uch & 15];
+                          len += 5;
                         }
 
                       str += clen;
                     }
                   else if (enc->json.flags & F_LATIN1)
                     {
+                      need (aTHX_ enc, 1);
                       *enc->cur++ = uch;
                       str += clen;
                     }
                   else if (enc->json.flags & F_BINARY)
                     {
+                      need (aTHX_ enc, 1);
                       *enc->cur++ = uch;
                       str += clen;
                     }
                   else if (is_utf8)
                     {
-                      need (aTHX_ enc, len += clen);
+                      need (aTHX_ enc, clen);
+                      len += clen;
                       do
                         {
                           *enc->cur++ = *str++;
@@ -827,9 +850,10 @@
                     }
                   else
                     { /* never more than 11 bytes needed */
-                      need (aTHX_ enc, len += UTF8_MAXBYTES - 1);
+                      need (aTHX_ enc, UTF8_MAXBYTES);
                       enc->cur = (char*)encode_utf8 ((U8*)enc->cur, uch);
                       ++str;
+                      len += UTF8_MAXBYTES - 1;
                     }
                 }
             }
@@ -861,7 +885,6 @@
 INLINE void
 encode_space (pTHX_ enc_t *enc)
 {
-  need (aTHX_ enc, 1);
   encode_ch (aTHX_ enc, ' ');
 }
 
@@ -870,7 +893,6 @@
 {
   if (enc->json.flags & F_INDENT)
     {
-      need (aTHX_ enc, 1);
       encode_ch (aTHX_ enc, '\n');
     }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/t/110_bignum.t 
new/Cpanel-JSON-XS-3.0231/t/110_bignum.t
--- old/Cpanel-JSON-XS-3.0230/t/110_bignum.t    2016-11-16 12:43:56.000000000 
+0100
+++ new/Cpanel-JSON-XS-3.0231/t/110_bignum.t    2017-03-29 11:45:19.000000000 
+0200
@@ -38,7 +38,7 @@
 $e = $json->encode($num);
 is($e, '2.0000000000000000001', 'encode bigfloat') or Dump $e;
 
-my $num = $json->decode(q|[100000000000000000000000000000000000000]|)->[0];
+$num = $json->decode(q|[100000000000000000000000000000000000000]|)->[0];
 
 isa_ok( $num, 'Math::BigInt' );
 is(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Cpanel-JSON-XS-3.0230/t/z_pod-spelling.t 
new/Cpanel-JSON-XS-3.0231/t/z_pod-spelling.t
--- old/Cpanel-JSON-XS-3.0230/t/z_pod-spelling.t        2016-10-30 
13:27:46.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0231/t/z_pod-spelling.t        2017-03-29 
11:45:19.000000000 +0200
@@ -13,76 +13,117 @@
 all_pod_files_spelling_ok();
 
 __DATA__
-CBOR
-cbor
-syck
-interop
-nonref
-noncharacters
-Lehmann
-bencode
-clzf
-commandline
-fromformat
-le
-toformat
-yaml
-BOM
 BMP
+BOM
+BOM's
 BSON
+CBOR
 CVE
-Crockford
 Cpanel
+Crockford
+Crockford's
+DESERIALIZATION
+Deserializing
 ECMAscript
 GPL
+IETF
 Iceweasel
+JSON
+JSON's
 KOI
 Lehmann
+Lehmann
 MLEHMANN
 Mojo
+MongoDB
 MovableType
 NOK
+NaN's
+OO
+QNAN
 Reini
+SNAN
+STDIN
+STDOUT
 SixApart
 Storable
 TCP
+UTF
 XSS
 amd
+arg
+arrayrefs
 ascii
 autodetection
 backported
 backrefs
+bencode
+bugtracker
 cPanel
+cbor
+classname
+clzf
+codepoints
 codeset
 codesets
+commandline
 conformant
+cpan
 datastructure
+deserialization
+deserialize
+deserialized
 deserializer
+deserializing
+fromformat
+github
+hashrefs
+interop
+interoperability
 ithread
 ithreads
+javascript
+javascript's
+json
 latin
+le
 nan
+nd
 ness
+noncharacters
+nonref
 numifying
 onwards
 optimizations
 parsable
+parsers
 postprocessing
 ppport
-queryable
-QNAN
 qnan
+queryable
+recurses
 recursing
+repo
 resizes
 roundtripping
+runtime
 sanify
-SNAN
+serializer
+serializers
 snan
 src
+storable
+stringifies
+stringifying
 superset
+syck
 testsuite
 th
+toformat
 typeless
 un
+unblessed
 unicode
+utf
 xs
+yaml


Reply via email to