[ofw] error when compiling ofed ulp\libibnetdisc
Hefty, Sean
sean.hefty at intel.com
Mon Jul 26 09:22:30 PDT 2010
> When compiling the ulp\libibnetdisc on OFW I got the following casting error. When looking the code
> it really looks problematic. I wonder how you don't see it in your environment.
I just checked, and this error doesn't show up in my build (7600.16385).
> static size_t _unmarshall16(uint8_t * inbuf, uint16_t * num)
>
> {
>
> (*num) = (uint64_t) inbuf[0];
>
> (*num) |= ((uint16_t) inbuf[1] << 8);
The cast to uint64_t is wrong. We can replace the above with:
(*num) = ((uint16_t) inbuf[1] << 8) | inbuf[0];
- Sean
More information about the ofw
mailing list