aboutsummaryrefslogtreecommitdiff
path: root/src/google/protobuf/util/internal/json_objectwriter.cc
diff options
context:
space:
mode:
authorBo Yang <teboring@google.com>2015-08-23 10:45:14 -0700
committerBo Yang <teboring@google.com>2015-08-25 17:58:48 -0700
commitff7bdad231d037802fd457ee4fd65e0291d366d7 (patch)
tree12f437b32201cdbbfade6d63193e15483640716d /src/google/protobuf/util/internal/json_objectwriter.cc
parent839b180dbae98adf6caa54d0fb87b8d0a43081dc (diff)
downloadprotobuf-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.cc9
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));