BMessage::Append() is now actually working.
This commit is contained in:
@@ -2729,16 +2729,17 @@ BMessage::Append(const BMessage &other)
|
|||||||
size_t size = field->data_size / field->count;
|
size_t size = field->data_size / field->count;
|
||||||
|
|
||||||
for (uint32 j = 0; j < field->count; j++) {
|
for (uint32 j = 0; j < field->count; j++) {
|
||||||
if (!isFixed)
|
if (!isFixed) {
|
||||||
size = *(uint32 *)data;
|
size = *(uint32 *)data;
|
||||||
|
data = (const void *)((const char *)data + sizeof(uint32));
|
||||||
|
}
|
||||||
|
|
||||||
status_t status = AddData(name, field->type, data, size,
|
status_t status = AddData(name, field->type, data, size,
|
||||||
isFixed != 0, 1);
|
isFixed, 1);
|
||||||
if (status != B_OK)
|
if (status != B_OK)
|
||||||
return status;
|
return status;
|
||||||
|
|
||||||
data = (const void *)((const char *)data + size
|
data = (const void *)((const char *)data + size);
|
||||||
+ (isFixed ? 0 : sizeof(uint32)));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return B_OK;
|
return B_OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user