Merge pull request #36 from jcmonnin/master

When dumping non-finite floating point values, output 'null'.
mutable-v2
j4cbo 2015-06-12 09:10:26 -07:00
commit 2aa22aab4b
1 changed files with 8 additions and 3 deletions

View File

@ -21,6 +21,7 @@
#include "json11.hpp" #include "json11.hpp"
#include <cassert> #include <cassert>
#include <cmath>
#include <cstdlib> #include <cstdlib>
#include <cstdio> #include <cstdio>
#include <limits> #include <limits>
@ -45,9 +46,13 @@ static void dump(std::nullptr_t, string &out) {
} }
static void dump(double value, string &out) { static void dump(double value, string &out) {
char buf[32]; if (std::isfinite(value)) {
snprintf(buf, sizeof buf, "%.17g", value); char buf[32];
out += buf; snprintf(buf, sizeof buf, "%.17g", value);
out += buf;
} else {
out += "null";
}
} }
static void dump(int value, string &out) { static void dump(int value, string &out) {