- fixed a second spot in RapidJSON where a bad NaN check was done.

This commit is contained in:
Christoph Oelckers 2016-12-16 08:05:29 +01:00
parent 9ef551b84a
commit 7ca5851f78

View file

@ -524,8 +524,13 @@ template<>
inline bool Writer<StringBuffer>::WriteDouble(double d) {
if (internal::Double(d).IsNanOrInf()) {
// Note: This code path can only be reached if (RAPIDJSON_WRITE_DEFAULT_FLAGS & kWriteNanAndInfFlag).
if (!(kWriteDefaultFlags & kWriteNanAndInfFlag))
return false;
if (!(kWriteDefaultFlags & kWriteNanAndInfFlag))
{
// At least ensure that the output does not get broken.
PutReserve(*os_, 1);
PutUnsafe(*os_, '0');
return false;
}
if (internal::Double(d).IsNan()) {
PutReserve(*os_, 3);
PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N');