Made toPrettyString slightly smarter and always output valid JSON, no matter what. (May still output altered contents, though.)

This commit is contained in:
Thulinma 2013-08-28 12:48:29 +02:00
parent 2769d3cc6c
commit 31bfc8223e

View file

@ -674,9 +674,9 @@ std::string JSON::Value::toPrettyString(int indentation) const{
break; break;
} }
case STRING: { case STRING: {
for (unsigned int i = 0; i < 5 && i < strVal.size(); ++i){ for (unsigned int i = 0; i < 201 && i < strVal.size(); ++i){
if (strVal[i] < 32 || strVal[i] > 125){ if (strVal[i] < 32 || strVal[i] > 126 || strVal.size() > 200){
return JSON::Value((long long int)strVal.size()).asString() + " bytes of binary data"; return "\""+JSON::Value((long long int)strVal.size()).asString() + " bytes of data\"";
} }
} }
return string_escape(strVal); return string_escape(strVal);