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(*cur) < 0x80) + if (*cur == '\\' || *cur == '\"' || + static_cast(*cur) < ' ' || + static_cast(*cur) >= 0x80) return true; } return false;