diff options
author | Bo Yang <teboring@google.com> | 2015-08-23 10:45:14 -0700 |
---|---|---|
committer | Bo Yang <teboring@google.com> | 2015-08-25 17:58:48 -0700 |
commit | ff7bdad231d037802fd457ee4fd65e0291d366d7 (patch) | |
tree | 12f437b32201cdbbfade6d63193e15483640716d /src/google/protobuf/util/internal/json_objectwriter.cc | |
parent | 839b180dbae98adf6caa54d0fb87b8d0a43081dc (diff) | |
download | protobuf-ff7bdad231d037802fd457ee4fd65e0291d366d7.tar.gz protobuf-ff7bdad231d037802fd457ee4fd65e0291d366d7.tar.bz2 protobuf-ff7bdad231d037802fd457ee4fd65e0291d366d7.zip |
Fix bugs on windows
Diffstat (limited to 'src/google/protobuf/util/internal/json_objectwriter.cc')
-rw-r--r-- | src/google/protobuf/util/internal/json_objectwriter.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/google/protobuf/util/internal/json_objectwriter.cc b/src/google/protobuf/util/internal/json_objectwriter.cc index d88a81f9..f81e3306 100644 --- a/src/google/protobuf/util/internal/json_objectwriter.cc +++ b/src/google/protobuf/util/internal/json_objectwriter.cc @@ -37,6 +37,7 @@ #include <google/protobuf/stubs/common.h> #include <google/protobuf/util/internal/utility.h> #include <google/protobuf/util/internal/json_escaping.h> +#include <google/protobuf/stubs/mathlimits.h> #include <google/protobuf/stubs/strutil.h> namespace google { @@ -115,7 +116,9 @@ JsonObjectWriter* JsonObjectWriter::RenderUint64(StringPiece name, JsonObjectWriter* JsonObjectWriter::RenderDouble(StringPiece name, double value) { - if (isfinite(value)) return RenderSimple(name, SimpleDtoa(value)); + if (google::protobuf::MathLimits<double>::IsFinite(value)) { + return RenderSimple(name, SimpleDtoa(value)); + } // Render quoted with NaN/Infinity-aware DoubleAsString. return RenderString(name, DoubleAsString(value)); @@ -123,7 +126,9 @@ JsonObjectWriter* JsonObjectWriter::RenderDouble(StringPiece name, JsonObjectWriter* JsonObjectWriter::RenderFloat(StringPiece name, float value) { - if (isfinite(value)) return RenderSimple(name, SimpleFtoa(value)); + if (google::protobuf::MathLimits<float>::IsFinite(value)) { + return RenderSimple(name, SimpleFtoa(value)); + } // Render quoted with NaN/Infinity-aware FloatAsString. return RenderString(name, FloatAsString(value)); |