~ruther/guix-local

ref: bfdce9ffdae2b3e42f46955caee4de1a3e4c1d33 guix-local/gnu/packages/patches/jsoncpp-fix-inverted-case.patch -rw-r--r-- 839 bytes
bfdce9ff — Tobias Geerinckx-Rice gnu: mpop: Update to 1.4.10. 6 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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;