Actually serialize doubles. Yikes.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4463 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2023-09-17 00:13:31 +00:00
parent b23b0ca239
commit e921b4a86a
3 changed files with 52 additions and 11 deletions

View File

@ -173,23 +173,16 @@ static bool _serialize_storeInternal(tf_task_t* task, tf_taskstub_t* to, buffer_
else if (JS_IsNumber(value))
{
int64_t result = 0;
if (JS_ToInt64(context, &result, value) == 0)
double float_result = 0.0;
if (JS_VALUE_GET_TAG(value) == JS_TAG_INT && JS_ToInt64(context, &result, value) == 0)
{
_serialize_writeInt32(buffer, kInt64);
_serialize_writeInt64(buffer, result);
}
else
{
fprintf(stderr, "Unable to store integer.\n");
}
}
else if (JS_IsNumber(value))
{
double result = 0.0;
if (JS_ToFloat64(context, &result, value) == 0)
else if (JS_ToFloat64(context, &float_result, value) == 0)
{
_serialize_writeInt32(buffer, kNumber);
_serialize_writeDouble(buffer, result);
_serialize_writeDouble(buffer, float_result);
}
else
{