From 762e4ecaffb1bbaa3fef83ea8fc2b14554aa1c1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 4 Nov 2012 17:21:47 +0100 Subject: [PATCH] BMessage::Append() is now actually working. --- src/kits/app/Message.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/kits/app/Message.cpp b/src/kits/app/Message.cpp index ecfa625a5d..09bf7e4d91 100644 --- a/src/kits/app/Message.cpp +++ b/src/kits/app/Message.cpp @@ -2729,16 +2729,17 @@ BMessage::Append(const BMessage &other) size_t size = field->data_size / field->count; for (uint32 j = 0; j < field->count; j++) { - if (!isFixed) + if (!isFixed) { size = *(uint32 *)data; + data = (const void *)((const char *)data + sizeof(uint32)); + } status_t status = AddData(name, field->type, data, size, - isFixed != 0, 1); + isFixed, 1); if (status != B_OK) return status; - data = (const void *)((const char *)data + size - + (isFixed ? 0 : sizeof(uint32))); + data = (const void *)((const char *)data + size); } } return B_OK;