Skip to content

Commit

Permalink
Read and write exported infs/nans correctly (godotengine#35388)
Browse files Browse the repository at this point in the history
  • Loading branch information
sumit0190 committed Feb 9, 2020
1 parent de932a5 commit c4dbd8a
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions core/variant_parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,10 @@ Error VariantParser::parse_value(Token &token, Variant &value, Stream *p_stream,
value = false;
else if (id == "null" || id == "nil")
value = Variant();
else if (id == "inf")
value = Math_INF;
else if (id == "nan")
value = Math_NAN;
else if (id == "Vector2") {

Vector<float> args;
Expand Down Expand Up @@ -1586,8 +1590,10 @@ Error VariantWriter::write(const Variant &p_variant, StoreStringFunc p_store_str
case Variant::REAL: {

String s = rtosfix(p_variant.operator real_t());
if (s.find(".") == -1 && s.find("e") == -1)
s += ".0";
if (s != "inf" && s != "nan") {
if (s.find(".") == -1 && s.find("e") == -1)
s += ".0";
}
p_store_string_func(p_store_string_ud, s);
} break;
case Variant::STRING: {
Expand Down

0 comments on commit c4dbd8a

Please sign in to comment.