forked from pool/jsoncpp
Accepting request 773600 from home:Guillaume_G:branches:devel:libraries:c_c++
- Fix build on non-x86 architectures - boo#1163385 * jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch - From 1.9.1 to 1.9.2, features.h has been renamed json_features.h so, add a symlink for compatibility - boo#1163385 OBS-URL: https://build.opensuse.org/request/show/773600 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/jsoncpp?expand=0&rev=55
This commit is contained in:
45
jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch
Normal file
45
jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
From f11611c8785082ead760494cba06196f14a06dcb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrew Childs <lorne@cons.org.nz>
|
||||||
|
Date: Sat, 28 Dec 2019 16:04:24 +0900
|
||||||
|
Subject: [PATCH] json_writer: fix inverted sense in isAnyCharRequiredQuoting
|
||||||
|
(#1120)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This bug is only affects platforms where `char` is unsigned.
|
||||||
|
|
||||||
|
When char is a signed type, values >= 0x80 are also considered < 0,
|
||||||
|
and hence require escaping due to the < ' ' condition.
|
||||||
|
|
||||||
|
When char is an unsigned type, values >= 0x80 match none of the
|
||||||
|
conditions and are considered safe to emit without escaping.
|
||||||
|
|
||||||
|
This shows up as a test failure:
|
||||||
|
|
||||||
|
* Detail of EscapeSequenceTest/writeEscapeSequence test failure:
|
||||||
|
/build/source/src/test_lib_json/main.cpp(3370): expected == result
|
||||||
|
Expected: '["\"","\\","\b","\f","\n","\r","\t","\u0278","\ud852\udf62"]
|
||||||
|
'
|
||||||
|
Actual : '["\"","\\","\b","\f","\n","\r","\t","ɸ","𤭢"]
|
||||||
|
'
|
||||||
|
---
|
||||||
|
src/lib_json/json_writer.cpp | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp
|
||||||
|
index 8e06cca2..56195dc1 100644
|
||||||
|
--- a/src/lib_json/json_writer.cpp
|
||||||
|
+++ b/src/lib_json/json_writer.cpp
|
||||||
|
@@ -178,8 +178,9 @@ static bool isAnyCharRequiredQuoting(char const* s, size_t n) {
|
||||||
|
|
||||||
|
char const* const end = s + n;
|
||||||
|
for (char const* cur = s; cur < end; ++cur) {
|
||||||
|
- if (*cur == '\\' || *cur == '\"' || *cur < ' ' ||
|
||||||
|
- static_cast<unsigned char>(*cur) < 0x80)
|
||||||
|
+ if (*cur == '\\' || *cur == '\"' ||
|
||||||
|
+ static_cast<unsigned char>(*cur) < ' ' ||
|
||||||
|
+ static_cast<unsigned char>(*cur) >= 0x80)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
@@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Feb 12 07:46:21 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||||
|
|
||||||
|
- Fix build on non-x86 architectures - boo#1163385
|
||||||
|
* jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch
|
||||||
|
- From 1.9.1 to 1.9.2, features.h has been renamed json_features.h
|
||||||
|
so, add a symlink for compatibility - boo#1163385
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Feb 3 15:35:00 UTC 2020 - Martin Pluskal <mpluskal@suse.com>
|
Mon Feb 3 15:35:00 UTC 2020 - Martin Pluskal <mpluskal@suse.com>
|
||||||
|
|
||||||
|
@@ -25,6 +25,8 @@ License: MIT
|
|||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
URL: https://github.com/open-source-parsers/jsoncpp
|
URL: https://github.com/open-source-parsers/jsoncpp
|
||||||
Source0: https://github.com/open-source-parsers/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
Source0: https://github.com/open-source-parsers/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||||
|
# PATCH-FIX-UPSTREAM - https://github.com/open-source-parsers/jsoncpp/commit/f11611c8785082ead760494cba06196f14a06dcb
|
||||||
|
Patch1: jsoncpp-f11611c8785082ead760494cba06196f14a06dcb.patch
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: meson >= 0.50.0
|
BuildRequires: meson >= 0.50.0
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
@@ -68,6 +70,7 @@ format to store user input files.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%meson \
|
%meson \
|
||||||
@@ -75,6 +78,11 @@ format to store user input files.
|
|||||||
|
|
||||||
%install
|
%install
|
||||||
%meson_install
|
%meson_install
|
||||||
|
pushd %{buildroot}%{_includedir}/json/
|
||||||
|
# From 1.9.1 to 1.9.2, features.h has been renamed json_features.h
|
||||||
|
# so, create a symlink for compatibility
|
||||||
|
ln -s json_features.h features.h
|
||||||
|
popd
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%meson_test
|
%meson_test
|
||||||
|
Reference in New Issue
Block a user