From: Nicolas Iooss > Sent: 29 October 2016 13:56 > There are some inconsistent debug message formats in message.c. For > example, > > dprintf("XDI CAPI: RC cancelled Id:0x02, Ch:%02x", e->Id, ch); > > wrongly reports an ID of 2 and prints the entity ID as the channel ID. > There are also object pointers which are used instead of the IDs. > > All these inconsistent formats have been found by adding __printf > attribute to myDbgPrint_...() functions (used by dbug()). As this makes > the compiler to also complain about using "%ld" with unsigned int values > (instead of "%u")...
The problem isn’t 'u' <=> 'd' but the 'l'. They need fixing as well. It only appears to work because the 64bit architectures pass enough arguments in registers. David