forked from cory/tildefriends
Add a helper for getting array length: tf_util_get_length.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3925 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
@ -239,23 +239,14 @@ static bool _serialize_storeInternal(tf_task_t* task, tf_taskstub_t* to, buffer_
|
||||
else if (JS_IsArray(tf_task_get_context(task), value))
|
||||
{
|
||||
_serialize_writeInt32(buffer, kArray);
|
||||
JSValue length_val = JS_GetPropertyStr(tf_task_get_context(task), value, "length");
|
||||
int length;
|
||||
if (JS_ToInt32(tf_task_get_context(task), &length, length_val) == 0)
|
||||
int length = tf_util_get_length(tf_task_get_context(task), value);
|
||||
_serialize_writeInt32(buffer, length);
|
||||
for (int i = 0; i < length; ++i)
|
||||
{
|
||||
_serialize_writeInt32(buffer, length);
|
||||
for (int i = 0; i < length; ++i)
|
||||
{
|
||||
JSValue element = JS_GetPropertyUint32(tf_task_get_context(task), value, i);
|
||||
_serialize_storeInternal(task, to, buffer, element, depth + 1);
|
||||
JS_FreeValue(context, element);
|
||||
}
|
||||
JSValue element = JS_GetPropertyUint32(tf_task_get_context(task), value, i);
|
||||
_serialize_storeInternal(task, to, buffer, element, depth + 1);
|
||||
JS_FreeValue(context, element);
|
||||
}
|
||||
else
|
||||
{
|
||||
_serialize_writeInt32(buffer, 0);
|
||||
}
|
||||
JS_FreeValue(tf_task_get_context(task), length_val);
|
||||
}
|
||||
else if (JS_IsFunction(tf_task_get_context(task), value))
|
||||
{
|
||||
|
Reference in New Issue
Block a user