On 2013-09-16 16:29, Martin Sustrik wrote:
On 16/09/13 16:13, André Jonsson wrote:I can see that on my own (linux) machine that iov_base is a void *, how does that work? I mean, is the code in usock_posix.inc not used then?It is used. No idea why it compiles. In any case the line should look something like this: ((uint8_t*) hdr->msg_iov->iov_base) += nbytes; Does that help? Martin
Hm... I thought I replied to this already, but I can't find it... oh well.It does indeed help! The whole thing compiled like a charm (save for a handful of warnings).
However, I had to do add an extra level of indirection for it to compile: *((uint8_t**)&(hdr->msg_iov->iov_base)) += nbytes; Which is horrible... but without it, it said: CC src/aio/usock.lo "src/aio/usock_posix.inc", line 901: error #2137: expression must be a modifiable lvalue ((uint8_t*)hdr->msg_iov->iov_base) += nbytes;Anyway, I'll see if I can make some adjustments to configure.ac for it to generate to correct defines for this platform (and hopefully not break it for others).
/André