hdr.version = 0;
hdr.type = cmd;
- hdr.seq = seq;
- hdr.peer = peer;
+ hdr.seq = cpu_to_be16(seq);
+ hdr.peer = cpu_to_be32(peer);
if (!msg) {
blob_buf_init(&b, 0);
return false;
ctx->msgbuf.data = ptr;
+ ctx->msgbuf_data_len = len;
return true;
}
return false;
}
+ hdrbuf.hdr.seq = be16_to_cpu(hdrbuf.hdr.seq);
+ hdrbuf.hdr.peer = be32_to_cpu(hdrbuf.hdr.peer);
+
if (!ubus_validate_hdr(&hdrbuf.hdr))
return false;
iov.iov_base = (char *)ctx->msgbuf.data + sizeof(hdrbuf.data);
iov.iov_len = blob_len(ctx->msgbuf.data);
- if (iov.iov_len > 0 && !recv_retry(ctx->sock.fd, &iov, true, NULL))
+ if (iov.iov_len > 0 &&
+ recv_retry(ctx->sock.fd, &iov, true, NULL) <= 0)
return false;
return true;