summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/jsoncpp-fix-inverted-case.patch
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-01-12 20:57:38 +0100
committerMarius Bakke <mbakke@fastmail.com>2020-01-12 20:57:38 +0100
commit8f1ab291bca31e84bec50da4374175367d498a6f (patch)
treee96a6f7a44382646733ac08ecaccb2f57182f017 /gnu/packages/patches/jsoncpp-fix-inverted-case.patch
parentf0bce2e08feb157b3d8b5100b1ea26bbbd6141e3 (diff)
parent2e4bb89354d909b661208b3900abfeaa621a1582 (diff)
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/patches/jsoncpp-fix-inverted-case.patch')
-rw-r--r--gnu/packages/patches/jsoncpp-fix-inverted-case.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/gnu/packages/patches/jsoncpp-fix-inverted-case.patch b/gnu/packages/patches/jsoncpp-fix-inverted-case.patch
new file mode 100644
index 0000000000..e4897de1b8
--- /dev/null
+++ b/gnu/packages/patches/jsoncpp-fix-inverted-case.patch
@@ -0,0 +1,22 @@
+This patch fixes a bug and related test failure on platforms where 'char'
+is unsigned.
+
+Taken from upstream:
+https://github.com/open-source-parsers/jsoncpp/commit/f11611c8785082ead760494cba06196f14a06dcb
+
+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;