blob: 8e655d92c376029c90b83b84e8b982d6d614fa14 [file] [log] [blame]
diff --git a/include/rapidjson/writer.h b/include/rapidjson/writer.h
index 94f22dd5..ac522f6b 100644
--- a/include/rapidjson/writer.h
+++ b/include/rapidjson/writer.h
@@ -324,13 +324,17 @@ protected:
return true;
}
if (internal::Double(d).Sign()) {
- PutReserve(*os_, 9);
+ PutReserve(*os_, 11);
+ PutUnsafe(*os_, '\"');
PutUnsafe(*os_, '-');
}
- else
- PutReserve(*os_, 8);
+ else {
+ PutReserve(*os_, 10);
+ PutUnsafe(*os_, '\"');
+ }
PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f');
PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y');
+ PutUnsafe(*os_, '\"');
return true;
}
@@ -518,13 +522,17 @@ inline bool Writer<StringBuffer>::WriteDouble(double d) {
return true;
}
if (internal::Double(d).Sign()) {
- PutReserve(*os_, 9);
+ PutReserve(*os_, 11);
+ PutUnsafe(*os_, '\"');
PutUnsafe(*os_, '-');
}
- else
- PutReserve(*os_, 8);
+ else {
+ PutReserve(*os_, 10);
+ PutUnsafe(*os_, '\"');
+ }
PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f');
PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y');
+ PutUnsafe(*os_, '\"');
return true;
}