1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 06:37:43 +00:00

AK: Fix JsonParser kernel build (no floats/doubles in kernel code)

This commit is contained in:
Andreas Kling 2020-03-24 22:37:24 +01:00
parent faddf3a1db
commit e34fe556ca

View file

@ -190,6 +190,8 @@ JsonValue JsonParser::parse_string()
JsonValue JsonParser::parse_number() JsonValue JsonParser::parse_number()
{ {
bool ok;
JsonValue value;
Vector<char, 128> number_buffer; Vector<char, 128> number_buffer;
Vector<char, 128> fraction_buffer; Vector<char, 128> fraction_buffer;
@ -214,9 +216,8 @@ JsonValue JsonParser::parse_number()
StringView number_string(number_buffer.data(), number_buffer.size()); StringView number_string(number_buffer.data(), number_buffer.size());
StringView fraction_string(fraction_buffer.data(), fraction_buffer.size()); StringView fraction_string(fraction_buffer.data(), fraction_buffer.size());
bool ok;
JsonValue value;
#ifndef KERNEL
if (is_double) { if (is_double) {
int whole = number_string.to_uint(ok); int whole = number_string.to_uint(ok);
if (!ok) if (!ok)
@ -232,11 +233,14 @@ JsonValue JsonParser::parse_number()
} }
value = JsonValue((double)whole + ((double)fraction / divider)); value = JsonValue((double)whole + ((double)fraction / divider));
} else { } else {
#endif
value = JsonValue(number_string.to_uint(ok)); value = JsonValue(number_string.to_uint(ok));
if (!ok) if (!ok)
value = JsonValue(number_string.to_int(ok)); value = JsonValue(number_string.to_int(ok));
ASSERT(ok); ASSERT(ok);
#ifndef KERNEL
} }
#endif
return value; return value;
} }