summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--misc/json.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/misc/json.c b/misc/json.c
index d1b2afddb6..d25e0f55c8 100644
--- a/misc/json.c
+++ b/misc/json.c
@@ -299,9 +299,11 @@ static int json_append(bstr *b, const struct mpv_node *src, int indent)
case MPV_FORMAT_INT64:
bstr_xappend_asprintf(NULL, b, "%"PRId64, src->u.int64);
return 0;
- case MPV_FORMAT_DOUBLE:
- bstr_xappend_asprintf(NULL, b, "%f", src->u.double_);
+ case MPV_FORMAT_DOUBLE: {
+ const char *px = isfinite(src->u.double_) ? "" : "\"";
+ bstr_xappend_asprintf(NULL, b, "%s%f%s", px, src->u.double_, px);
return 0;
+ }
case MPV_FORMAT_STRING:
write_json_str(b, src->u.string);
return 0;