- memcpy(&pending->hdr.hdr, hdr, sizeof(*hdr));
- memcpy(pending->hdr.data, ubus_msghdr_data(hdr), blob_raw_len(ubus_msghdr_data(hdr)));
- list_add(&pending->list, &ctx->pending);
+ pending->hdr.data = data;
+ memcpy(&pending->hdr.hdr, &buf->hdr, sizeof(buf->hdr));
+ memcpy(data, buf->data, blob_raw_len(buf->data));
+ list_add_tail(&pending->list, &ctx->pending);