mirror of
https://github.com/mpv-player/mpv
synced 2025-03-22 19:34:14 +00:00
json: write NaN/Infinity float values as strings
JSON doesn't support these for some god-awful reason. (JSON would have been so much better if it weren't based on JavaScript, the plague of this world.) We don't really care whether these specific values "round trip", so we might as well write them in a standard-compliant way. Untested. I was too lazy to even run this, but it probably works. See #6691.
This commit is contained in:
parent
419c44ccf6
commit
3c7e20a0e2
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user