Merge pull request #36 from jcmonnin/master
When dumping non-finite floating point values, output 'null'.mutable-v2
commit
2aa22aab4b
|
@ -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) {
|
||||||
|
if (std::isfinite(value)) {
|
||||||
char buf[32];
|
char buf[32];
|
||||||
snprintf(buf, sizeof buf, "%.17g", value);
|
snprintf(buf, sizeof buf, "%.17g", value);
|
||||||
out += buf;
|
out += buf;
|
||||||
|
} else {
|
||||||
|
out += "null";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dump(int value, string &out) {
|
static void dump(int value, string &out) {
|
||||||
|
|
Loading…
Reference in New Issue