Hello community,
here is the log from the commit of package perl-Cpanel-JSON-XS for openSUSE:Factory checked in at 2017-05-03 15:57:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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"
Wed May 3 15:57:09 2017 rev:6 rq:492403 version:3.0233
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes 2017-04-11 09:36:39.329190461 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new/perl-Cpanel-JSON-XS.changes 2017-05-03 15:57:10.880300414 +0200
@@ -1,0 +2,17 @@
+Tue May 2 05:21:47 UTC 2017 - coolo@suse.com
+
+- updated to 3.0233
+ see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+ 3.0233 2017-05-01 (rurban)
+ - 5.6 test fixes, silence some cc warnings,
+ add coverage and release targets, fix appveyor
+
+ 3.0232 2017-04-30 (rurban)
+ - Fix for MSVC 2015/14.0 and newer with changed nan/inf. #85
+ - Added appveyor CI
+ - Silence 32bit debugging format warning
+ - stabilize decode_hv hook (Coverity)
+ - ignore sv_utf8_downgrade errors (Coverity)
+
+-------------------------------------------------------------------
Old:
----
Cpanel-JSON-XS-3.0231.tar.gz
New:
----
Cpanel-JSON-XS-3.0233.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.UtWMlC/_old 2017-05-03 15:57:12.044136110 +0200
+++ /var/tmp/diff_new_pack.UtWMlC/_new 2017-05-03 15:57:12.048135546 +0200
@@ -17,7 +17,7 @@
Name: perl-Cpanel-JSON-XS
-Version: 3.0231
+Version: 3.0233
Release: 0
%define cpan_name Cpanel-JSON-XS
Summary: Cpanel Fork of Json::Xs, Fast and Correct Serializing
++++++ Cpanel-JSON-XS-3.0231.tar.gz -> Cpanel-JSON-XS-3.0233.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/.appveyor.yml new/Cpanel-JSON-XS-3.0233/.appveyor.yml
--- old/Cpanel-JSON-XS-3.0231/.appveyor.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0233/.appveyor.yml 2017-05-01 14:18:48.000000000 +0200
@@ -0,0 +1,48 @@
+version: 3.02.31.{build}
+skip_tags: true
+#os: MinGW
+#os: Visual Studio 2015
+#os: Default Azure
+#build:
+# verbosity: minimal
+# there's no 32bit installer
+platform:
+ - x64
+ - x86
+environment:
+ matrix:
+ - STRAWBERRY: 1
+ - MSVC_CPERL: 1
+clone_depth: 1
+init:
+ - git config --global core.autocrlf input
+ # Disable popups as they hang the build as there is nobody to click on the OK button...
+ # Hanging the build is a lot less user friendly than reporting a build failure.
+ #
+ # Disable of system hard error popup
+ # See: https://msdn.microsoft.com/en-us/library/bb513638%28VS.85%29.aspx
+ - reg add "HKLM\SYSTEM\CurrentControlSet\Control\Windows" /f /v ErrorMode /d 2
+ # Disable the following popup on program failure:
+ # | ** <program name> has stopped working ** |
+ # | Windows can check online for a solution to the problem|
+ # | - Check online for a solution and close the program |
+ # | - Close the program |
+ # See: https://msdn.microsoft.com/en-us/library/bb513638%28VS.85%29.aspx
+ - reg add "HKLM\Software\Microsoft\Windows\Windows Error Reporting" /f /v DontShowUI /d 1
+ #- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+
+install:
+ - cinst wget -y
+ - if "%PLATFORM%" == "x86" set BITS=32
+ - if "%PLATFORM%" == "x64" set BITS=64
+ #- if "%STRAWBERRY%" == "1" wget -q http://strawberryperl.com/download/5.24.1.1/strawberry-perl-5.24.1.1-%BITS%b...
+ # waits for input
+ #- if "%STRAWBERRY%" == "1" msiexec /qn /norestart strawberry-perl-5.24.1.1-%BITS%bit.msi
+ - if "%STRAWBERRY%" == "1" cinst strawberryperl -i
+ - if "%MSVC_CPERL%" == "1" wget -q https://github.com/perl11/cperl/releases/download/cperl-5.26.0/cperl-5.26.0-...
+ - if "%MSVC_CPERL%" == "1" cperl-5.26.0-win%BITS%.exe -y -o"C:\"
+
+build: off
+
+test_script:
+ - 't\appveyor-test.bat'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/Changes new/Cpanel-JSON-XS-3.0233/Changes
--- old/Cpanel-JSON-XS-3.0231/Changes 2017-03-29 11:49:31.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/Changes 2017-05-01 15:11:15.000000000 +0200
@@ -2,6 +2,17 @@
TODO: http://stevehanov.ca/blog/index.php?id=104 compression
+3.0233 2017-05-01 (rurban)
+ - 5.6 test fixes, silence some cc warnings,
+ add coverage and release targets, fix appveyor
+
+3.0232 2017-04-30 (rurban)
+ - Fix for MSVC 2015/14.0 and newer with changed nan/inf. #85
+ - Added appveyor CI
+ - Silence 32bit debugging format warning
+ - stabilize decode_hv hook (Coverity)
+ - ignore sv_utf8_downgrade errors (Coverity)
+
3.0231 2017-03-29 (rurban)
- Fix need() overallocation (#84 Matthew Horsfall) and missing
need() calls.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/MANIFEST new/Cpanel-JSON-XS-3.0233/MANIFEST
--- old/Cpanel-JSON-XS-3.0231/MANIFEST 2017-03-29 11:50:36.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/MANIFEST 2017-05-01 16:54:36.000000000 +0200
@@ -1,3 +1,4 @@
+.appveyor.yml
.travis.yml
README
Changes
@@ -45,6 +46,7 @@
t/54_stringify.t
t/55_modifiable.t
t/96_interop.t
+t/96_interop_pp.t
t/96_mojo.t
t/97_unshare_hek.t
t/98_56only.t
@@ -62,6 +64,7 @@
t/115_tie_ixhash.t
t/116_incr_parse_fixed.t
t/117_numbers.t
+t/appveyor-test.bat
t/gh70-asan.t
t/_unicode_handling.pm
t/test_parsing/i_number_neg_int_huge_exp.json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/META.json new/Cpanel-JSON-XS-3.0233/META.json
--- old/Cpanel-JSON-XS-3.0231/META.json 2017-03-29 11:50:36.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/META.json 2017-05-01 16:54:36.000000000 +0200
@@ -4,7 +4,7 @@
"Reini Urban "
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 8.0404, CPAN::Meta::Converter version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
@@ -49,6 +49,6 @@
"url" : "https://github.com/rurban/Cpanel-JSON-XS"
}
},
- "version" : "3.0231",
- "x_serialization_backend" : "JSON::PP version 2.27400_02"
+ "version" : "3.0233",
+ "x_serialization_backend" : "JSON::PP version 2.27400"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/META.yml new/Cpanel-JSON-XS-3.0233/META.yml
--- old/Cpanel-JSON-XS-3.0231/META.yml 2017-03-29 11:50:36.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/META.yml 2017-05-01 16:54:35.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 8.0404, CPAN::Meta::Converter version 2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.24, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -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.0231'
+version: '3.0233'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/Makefile.PL new/Cpanel-JSON-XS-3.0233/Makefile.PL
--- old/Cpanel-JSON-XS-3.0231/Makefile.PL 2017-03-12 11:01:17.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0233/Makefile.PL 2017-05-01 14:23:34.000000000 +0200
@@ -94,5 +94,36 @@
"
README : \$(VERSION_FROM)
pod2text \$(VERSION_FROM) > README
+
+release : dist
+ git tag \$(VERSION)
+ cpan-upload \$(DISTVNAME).tar\$(SUFFIX)
+ git push
+ git push --tags
+
+const-c.inc const-xs.inc : Makefile.PL
+
+# versioned gcc needs overrides
+GCOV = gcov
+test_cover :: pure_all
+ \$(RM_RF) cover_db
+ +\$(PERLRUNINST) -S cover -test
+
+test_coveralls :: pure_all
+ +\$(PERLRUNINST) -S cover -test -report coveralls
+
+gcov : \$(BASEEXT).c.gcov \$(BASEEXT).gcov cover_db/\$(BASEEXT)-xs.html
+
+\$(BASEEXT).c.gcov \$(BASEEXT).xs.gcov : \$(BASEEXT).xs
+ \$(MAKE) CCFLAGS=\"\$(CCFLAGS) -fprofile-arcs -ftest-coverage\" LDDLFLAGS=\"\$(LDDLFLAGS) -fprofile-arcs -ftest-coverage\"
+ \$(GCOV) \$(BASEEXT).c \$(BASEEXT).xs
+
+cover_db/\$(BASEEXT)-xs.html : \$(BASEEXT).xs.gcov
+ PERL5OPT=-MDevel::Cover make test
+ -$^X -S gcov2perl \$(BASEEXT).c.gcov \$(BASEEXT).xs.gcov
+ $^X -S cover
+
+gprof :
+ \$(MAKE) CCFLAGS=\"\$(CCFLAGS) -pg\" LDDLFLAGS=\"\$(LDDLFLAGS) -pg\"
"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/SIGNATURE new/Cpanel-JSON-XS-3.0233/SIGNATURE
--- old/Cpanel-JSON-XS-3.0231/SIGNATURE 2017-03-29 11:50:36.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/SIGNATURE 2017-05-01 16:54:36.000000000 +0200
@@ -14,20 +14,21 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
+SHA1 b1dc76bb84e636c3d4a32dc6676ae3259fa25aeb .appveyor.yml
SHA1 bddff1b119b111563d9c812b92e28289c3ea450e .travis.yml
SHA1 9a56f3b919dfc8fced3803e165a2e38de62646e5 COPYING
-SHA1 258195875eaeefe55bef4e7f5b2d1b96a6479a95 Changes
-SHA1 7ebf5876b2d33d6ddcfd69e2541394c63537fcfd MANIFEST
-SHA1 4e1e40812bc44d98cad6ab814883338be720e25d META.json
-SHA1 90b8dbdd1f0a4443126142a73883ef62363dbf07 META.yml
-SHA1 bfc1c41215d67b1fc5e3cfbec7ceadf8ca33a206 Makefile.PL
+SHA1 7eb2da232117269dbdd796c7eb869d7b143ea767 Changes
+SHA1 dddd524be72a6784fc85f96bd6f054bba0f3cd26 MANIFEST
+SHA1 1b54ffa91cf810f678afdece79df596f0e2c77ff META.json
+SHA1 5232306e51deaf16449d2336f1cce6a3163b3144 META.yml
+SHA1 7ddbf57c8a0b04ca11e50c1fcf534ec19b2a0806 Makefile.PL
SHA1 5f9c081e4f784fbfccc7df27bf386da13f3b6301 README
-SHA1 9544213d13c4a51b8898fa4b0aa53ce2b01a60f2 XS.pm
-SHA1 e9018c9c1ce1d50d352b32e2183c177514fec4f0 XS.xs
+SHA1 faf7ee3dcf51ca9dee6c8ab4864632cfcf2aa0b8 XS.pm
+SHA1 de4fa143391188f9de660d068715fe134a1ba97c XS.xs
SHA1 27b0bc7e0cd6fe90876fb3d285065c6a07cca028 XS/Boolean.pm
SHA1 9e4b04d1af085e6959aaed51734475d350136392 bin/cpanel_json_xs
SHA1 ea72bbe602baaabdd0004ef1d7e7cc3334b42bb4 eg/bench
-SHA1 4adab19c45378f079298d6d0b9f90a57f55bafe7 ppport.h
+SHA1 6e5d2153e1931be4e416c8feef7f7dfcab0f91b4 ppport.h
SHA1 f7101031fd3fde35fe2421a07ab6cee8a822c00c t/00_load.t
SHA1 2e04c54c8e6bf0d8090bcbc17487238a98f5e0aa t/01_utf8.t
SHA1 9cf542e0bf68c90749420c7d07d7be80e1860592 t/02_error.t
@@ -52,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 563cf24c85f22a077a9c20a0dfee1052db289b66 t/117_numbers.t
+SHA1 528c68984530cf1a3bdfbdb6c0792b23255552b9 t/117_numbers.t
SHA1 d1003d09b5da3609977362bcda64b2c593039a6b t/11_pc_expo.t
SHA1 c0037e62cefc891df4bb84a110051963a60e9f8c t/12_blessed.t
SHA1 4d553fd6b5e4486f087babff2946e0cb4b2c38fb t/13_limit.t
@@ -63,24 +64,26 @@
SHA1 1523ef12859072ba900344df5f1a8439c74fbad2 t/18_json_checker.t
SHA1 33231a52e12866a61c405496947827485ff2a811 t/19_incr.t
SHA1 8f266979e62b50271f353e5e6905e52d9038834b t/20_faihu.t
-SHA1 37a646a883e0f1adc57ed88a1492d8273379ba84 t/20_unknown.t
+SHA1 562b9329aff83c441b29815e3987b467d0e983e4 t/20_unknown.t
SHA1 1d9c81e5dfc27ff7f790354ce22af335cefe09c2 t/21_evans.t
SHA1 3d155f37e687f929bd0cae767dc2dbf1993b73c9 t/22_comment_at_eof.t
SHA1 1ffb0242c800720c565a9e148e184bfa9d54b1c4 t/23_array_ctx.t
SHA1 2d2ccc7877250f80755a74acd0c3c2f21e606aae t/24_freeze_recursion.t
SHA1 de63833eb7d922d21339a210680ebf84508b987a t/25_boolean.t
-SHA1 91f4a7a000fe4b7170945466a8e37fe20a55082c t/30_jsonspec.t
-SHA1 8eadf9f4a1c9958e19f9fcf1dd7194f87967e7bf t/31_bom.t
+SHA1 e69768ad5d6900497ab088e74473b3208e3a4bbd t/30_jsonspec.t
+SHA1 3705a4bc706627dde26e444f41342b88850cbe98 t/31_bom.t
SHA1 ded6191143511074b0cfa5c7ff990e0cbaa11ff9 t/52_object.t
SHA1 292cb103dae404294cb77c68e3f28a1239f603b9 t/53_readonly.t
SHA1 cf201da353d9930435463aee512fa7dccbad96df t/54_stringify.t
SHA1 f08d2ec9499dc0d0e5ede5691c75b865f466b69c t/55_modifiable.t
SHA1 7ad4a15bfdec5bbd757a48a4670f0275fb2ffd71 t/96_interop.t
+SHA1 1caf7492922f42dd78cf34b2de7bba5481f84fd8 t/96_interop_pp.t
SHA1 711a469b7cf72b40bbe94ce65264d1c0a3f0a016 t/96_mojo.t
SHA1 3291c73ec3a19df551d0fff59695153616fc982a t/97_unshare_hek.t
SHA1 1bf6336a76101f747b84c35cca38c4e8bacb9224 t/98_56only.t
SHA1 e5e4ea9e68154f9adb4e5e19a86c96efb1704d02 t/99_binary.t
SHA1 e6078e2fc5c375d45498494bb91487834601a189 t/_unicode_handling.pm
+SHA1 4fe1bc58fd22b56b331ef2050977bd488588919a t/appveyor-test.bat
SHA1 483157c2a683750b52011f4b6cc00fc3b4381d9a t/gh70-asan.t
SHA1 413be8df242f37f68aa3841888174e545cba5b2f t/test_parsing/i_number_neg_int_huge_exp.json
SHA1 fa1cc74fc07e84b1a18883a4f5e85472c41df793 t/test_parsing/i_number_pos_double_huge_exp.json
@@ -430,7 +433,7 @@
SHA1 e93c9b53438be114c25aa426742e24f4343057a7 typemap
-----BEGIN PGP SIGNATURE-----
-iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWNuDbAAKCRCabZJij/3J
-Qq3rAJ9UoqzCSlLFGL4czmFQzCaE84BbUwCePETrwmRO36yYTtlPPlpjSgo1kcc=
-=18pg
+iF0EARECAB0WIQRZHhhUcL58V8z0UW2abZJij/3JQgUCWQdMLAAKCRCabZJij/3J
+Qij9AJ0WBByTlFpF82C91mJ1SncHd6/k0wCeO6iIEafqRW21gWAF+GrNnPvvHYg=
+=wI+L
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/XS.pm new/Cpanel-JSON-XS-3.0233/XS.pm
--- old/Cpanel-JSON-XS-3.0231/XS.pm 2017-03-29 11:45:19.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/XS.pm 2017-05-01 15:11:32.000000000 +0200
@@ -1,5 +1,5 @@
package Cpanel::JSON::XS;
-our $VERSION = '3.0231';
+our $VERSION = '3.0233';
our $XS_VERSION = $VERSION;
$VERSION = eval $VERSION;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/XS.xs new/Cpanel-JSON-XS-3.0233/XS.xs
--- old/Cpanel-JSON-XS-3.0231/XS.xs 2017-03-29 11:45:19.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/XS.xs 2017-05-01 14:33:02.000000000 +0200
@@ -39,17 +39,26 @@
/* strawberry 5.22 with USE_MINGW_ANSI_STDIO and USE_LONG_DOUBLE has now
a proper inf/nan */
#if defined(WIN32) && !defined(__USE_MINGW_ANSI_STDIO) && !defined(USE_LONG_DOUBLE)
-#define STR_INF "1.#INF"
-#define STR_INF2 "1.#INF.0"
-#define STR_NAN "1.#IND"
-#define STR_QNAN "1.#QNAN"
-#define HAVE_QNAN
+# if _MSC_VER > 1800
+# define STR_INF "inf"
+# define STR_INF2 "inf.0"
+# define STR_NAN "nan"
+# define STR_QNAN "nan(ind)"
+# define HAVE_QNAN
+# else
+# define STR_INF "1.#INF"
+# define STR_INF2 "1.#INF.0"
+# define STR_NAN "1.#IND"
+# define STR_QNAN "1.#QNAN"
+# define HAVE_QNAN
+# endif
#elif defined(sun) || defined(__sun)
#define STR_INF "Infinity"
#define STR_NAN "NaN"
#elif defined(__hpux)
#define STR_INF "++"
#define STR_NAN "-?"
+#define HAVE_NEG_NAN
#define STR_NEG_INF "---"
#define STR_NEG_NAN "?"
#else
@@ -243,8 +252,8 @@
# define INLINE static
#endif
#ifndef LIKELY
-#define LIKELY(expr) _expect ((expr) != 0, 1)
-#define UNLIKELY(expr) _expect ((expr) != 0, 0)
+#define LIKELY(expr) _expect ((long)(expr) != 0, 1)
+#define UNLIKELY(expr) _expect ((long)(expr) != 0, 0)
#endif
#define IN_RANGE_INC(type,val,beg,end) \
@@ -358,7 +367,8 @@
INLINE void
shrink (pTHX_ SV *sv)
{
- sv_utf8_downgrade (sv, 1);
+ /* ignore errors */
+ (void)sv_utf8_downgrade (sv, 1);
if (SvLEN (sv) > SvCUR (sv) + 1)
{
@@ -681,8 +691,10 @@
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));
+#if PERL_VERSION > 6
+ DEBUG_v(Perl_deb(aTHX_ "need enc: %p %p %4ld, want: %lu\n", enc->cur, enc->end,
+ (long)(enc->end - enc->cur), (unsigned long)len));
+#endif
assert(enc->cur <= enc->end);
if (UNLIKELY(enc->cur + len >= enc->end))
{
@@ -720,9 +732,10 @@
while (str < end)
{
unsigned char ch = *(unsigned char *)str;
+#if PERL_VERSION > 6
DEBUG_v(Perl_deb(aTHX_ "str enc: %p %p %4ld, want: %lu\n", enc->cur, enc->end,
- enc->end - enc->cur, (long unsigned)len));
-
+ (long)(enc->end - enc->cur), (long unsigned)len));
+#endif
if (LIKELY(ch >= 0x20 && ch < 0x80)) /* most common case */
{
assert(enc->cur <= enc->end);
@@ -2826,7 +2839,7 @@
{
if (dec->json.cb_sk_object && HvKEYS (hv) == 1)
{
- HE *cb, *he;
+ HE *cb = NULL, *he;
hv_iterinit (hv);
he = hv_iternext (hv);
@@ -2834,7 +2847,8 @@
/* the next line creates a mortal sv each time it's called. */
/* might want to optimise this for common cases. */
- cb = hv_fetch_ent (dec->json.cb_sk_object, hv_iterkeysv (he), 0, 0);
+ if (LIKELY(he))
+ cb = hv_fetch_ent (dec->json.cb_sk_object, hv_iterkeysv (he), 0, 0);
if (cb)
{
@@ -3585,10 +3599,10 @@
self->cb_sk_object = newHV ();
if (SvOK (cb))
- hv_store_ent (self->cb_sk_object, key, newSVsv (cb), 0);
+ (void)hv_store_ent (self->cb_sk_object, key, newSVsv (cb), 0);
else
{
- hv_delete_ent (self->cb_sk_object, key, G_DISCARD, 0);
+ (void)hv_delete_ent (self->cb_sk_object, key, G_DISCARD, 0);
if (!HvKEYS (self->cb_sk_object))
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/ppport.h new/Cpanel-JSON-XS-3.0233/ppport.h
--- old/Cpanel-JSON-XS-3.0231/ppport.h 2016-10-06 10:43:33.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/ppport.h 2017-05-01 14:20:45.000000000 +0200
@@ -4,9 +4,9 @@
/*
----------------------------------------------------------------------
- ppport.h -- Perl/Pollution/Portability Version 3.33_02
+ ppport.h -- Perl/Pollution/Portability Version 3.35_02
- Automatically created by Devel::PPPort running under perl 5.025001.
+ Automatically created by Devel::PPPort running under perl 5.026000.
Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
includes in parts/inc/ instead.
@@ -21,7 +21,7 @@
=head1 NAME
-ppport.h - Perl/Pollution/Portability version 3.33_02
+ppport.h - Perl/Pollution/Portability version 3.35_02
=head1 SYNOPSIS
@@ -383,7 +383,7 @@
# Disable broken TRIE-optimization
BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] >= 5.009004 && $] <= 5.009005 }
-my $VERSION = 3.33_02;
+my $VERSION = 3.35_02;
my %opt = (
quiet => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/t/117_numbers.t new/Cpanel-JSON-XS-3.0233/t/117_numbers.t
--- old/Cpanel-JSON-XS-3.0231/t/117_numbers.t 2016-10-28 10:31:16.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/t/117_numbers.t 2017-05-01 07:01:08.000000000 +0200
@@ -37,6 +37,16 @@
$have_qnan = 0;
($inf, $neg_inf, $nan, $neg_nan) = ('inf','-inf','nan','-nan');
}
+# Windows changed it with MSVC 14.0 and the ucrtd.dll runtime
+diag "ccversion = $Config{ccversion}" if $^O eq 'MSWin32' and $Config{ccversion};
+if ($^O eq 'MSWin32' and $Config{ccversion}) {
+ my $mscver = $Config{ccversion}; # "19.00.24215.1" for 14.0 (VC++ 2015)
+ $mscver =~ s/^(\d+\.\d\+).(\d+)\.(\d+)/$1$2$3/;
+ if ($mscver >= 19.0) {
+ $have_qnan = 0;
+ ($inf, $neg_inf, $nan, $neg_nan) = ('inf','-inf','nan','-nan(ind)');
+ }
+}
# newlib and glibc 2.5 have no -nan support, just nan. The BSD's neither, but they might
# come up with it lateron, as darwin did.
#if ($^O eq 'cygwin' or ($Config{glibc_version} && $Config{glibc_version} < 2.6)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/t/20_unknown.t new/Cpanel-JSON-XS-3.0233/t/20_unknown.t
--- old/Cpanel-JSON-XS-3.0231/t/20_unknown.t 2016-06-18 11:50:01.000000000 +0200
+++ new/Cpanel-JSON-XS-3.0233/t/20_unknown.t 2017-05-01 14:54:50.000000000 +0200
@@ -3,15 +3,15 @@
use Test::More;
BEGIN {
# allow_unknown method added to JSON::PP in 2.09
- eval 'use JSON 2.09 (); 1'
- or plan skip_all => 'JSON 2.09 required for cross testing';
+ eval 'use JSON::PP 2.09 (); 1'
+ or plan skip_all => 'JSON::PP 2.09 required for cross testing';
$ENV{PERL_JSON_BACKEND} = 'JSON::PP';
}
plan tests => 32;
-use JSON ();
+use JSON::PP ();
use Cpanel::JSON::XS ();
-my $pp = JSON->new;
+my $pp = JSON::PP->new;
my $json = Cpanel::JSON::XS->new;
eval q| $json->encode( [ sub {} ] ) |;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/t/30_jsonspec.t new/Cpanel-JSON-XS-3.0233/t/30_jsonspec.t
--- old/Cpanel-JSON-XS-3.0231/t/30_jsonspec.t 2016-11-16 12:34:01.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0233/t/30_jsonspec.t 2017-05-01 15:08:59.000000000 +0200
@@ -1,9 +1,9 @@
# regressions and differences from the JSON Specs and JSON::PP
# detected by http://seriot.ch/json/parsing.html
-use Test::More tests => 686;
+use Test::More ($] >= 5.008) ? (tests => 686) : (skip_all => "needs 5.8");
use Cpanel::JSON::XS;
BEGIN {
- require Encode if $] < 5.020; # Currently required for <5.20
+ require Encode if $] >= 5.008 && $] < 5.020; # Currently required for <5.20
}
my $json = Cpanel::JSON::XS->new->utf8->allow_nonref;
my $relaxed = Cpanel::JSON::XS->new->utf8->allow_nonref->relaxed;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/t/31_bom.t new/Cpanel-JSON-XS-3.0233/t/31_bom.t
--- old/Cpanel-JSON-XS-3.0231/t/31_bom.t 2016-10-30 16:03:07.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0233/t/31_bom.t 2017-05-01 15:08:59.000000000 +0200
@@ -2,7 +2,7 @@
#
# https://tools.ietf.org/html/rfc7159#section-8.1
# JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32.
-use Test::More tests => 5;
+use Test::More ($] >= 5.008) ? (tests => 5) : (skip_all => "needs 5.8");;
use Cpanel::JSON::XS;
use Encode; # Currently required for <5.20
use utf8;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/t/96_interop_pp.t new/Cpanel-JSON-XS-3.0233/t/96_interop_pp.t
--- old/Cpanel-JSON-XS-3.0231/t/96_interop_pp.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0233/t/96_interop_pp.t 2017-05-01 16:42:53.000000000 +0200
@@ -0,0 +1,41 @@
+use Test::More;
+BEGIN {
+ # for cperl CORE
+ eval "require JSON::PP;";
+ if ($@) {
+ plan skip_all => "JSON::PP required for testing interop_pp";
+ exit 0;
+ } else {
+ plan tests => 3;
+ }
+ $ENV{PERL_JSON_BACKEND} = 0;
+}
+
+use JSON::PP (); # limitation: for interop with JSON load JSON::PP before Cpanel::JSON::XS
+use Cpanel::JSON::XS ();
+
+my $cjson = Cpanel::JSON::XS->new;
+my $boolstring = q({"is_true":true});
+my $js;
+{
+ local $ENV{PERL_JSON_BACKEND} = 'JSON::PP';
+ my $json = JSON::PP->new;
+ $js = $json->decode( $boolstring );
+ # bless { is_true => 1 }, "JSON::PP::Boolean"
+}
+
+is ($cjson->encode( $js ), $boolstring) or diag "\$JSON::VERSION=$JSON::VERSION";
+
+{
+ local $ENV{PERL_JSON_BACKEND} = 'Cpanel::JSON::XS';
+ my $json = JSON::PP->new;
+ $js = $json->decode( $boolstring );
+ # bless { is_true => 1}, "Types::Serialiser"
+}
+
+is($cjson->encode( $js ), $boolstring)
+ or diag "\$JSON::PP::VERSION=$JSON::PP::VERSION";
+
+$js = $cjson->decode( $boolstring );
+is ($cjson->encode( $js ), $boolstring) or diag(ref $js->{is_true});
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cpanel-JSON-XS-3.0231/t/appveyor-test.bat new/Cpanel-JSON-XS-3.0233/t/appveyor-test.bat
--- old/Cpanel-JSON-XS-3.0231/t/appveyor-test.bat 1970-01-01 01:00:00.000000000 +0100
+++ new/Cpanel-JSON-XS-3.0233/t/appveyor-test.bat 2017-05-01 14:18:48.000000000 +0200
@@ -0,0 +1,36 @@
+@echo off
+
+rem Test::MinimumVersion
+set REQS=Pod::Text Time::Piece common::sense Mojo::JSON JSON Test::LeakTrace Test::CPAN::Meta Test::Pod Test::Pod::Coverage
+set PERL_MM_USE_DEFAULT=1
+
+if not "%PLATFORM%" == "x64" set WIN64=undef
+if "%STRAWBERRY%" == "1" goto gcc
+if "%MSVC_CPERL%" == "1" goto msvc
+
+:gcc
+
+set PATH=C:\strawberry\perl\bin;C:\strawberry\perl\site\bin;C:\strawberry\c\bin;%PATH%
+rem echo cpan -T %REQS%
+rem cpan -T %REQS%
+echo perl Makefile.PL
+perl Makefile.PL
+echo dmake
+dmake
+echo dmake test
+dmake test
+
+exit /b
+
+:msvc
+if "%PLATFORM%" == "x64" set PLATFORM=amd64
+rem 14 deviates from cperl with linker errors for the libc runtime
+set MSVC_VERSION=12
+call "C:\Program Files (x86)\Microsoft Visual Studio %MSVC_VERSION%.0\VC\vcvarsall.bat" %PLATFORM%
+
+set PATH=C:\cperl\bin;C:\cperl\site\bin;%PATH%
+cperl -S cpan -T %REQS%
+cperl Makefile.PL
+nmake
+nmake test
+