[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ntohl a macro?

Hello IA-64 folkel,

In autobuilding one of my packages(vegastrike), the ia64 build daemon
give me a wierd error that has not appeared on any other platform:

packet.cpp:234: invalid operands of types `float' and `unsigned int' to
binary `operator&'

Line 234 is simply
floatvar = ntohl(floatvar);

All of the other archs(well, little endian ones) seem to treat this as a
function and do the float->int cast, yet ia-64 seems to have this call
as a macro and never does the cast.  I've tried to replicate this on the
debian ia-64 machines, but they all run woody where it does not occur
(and don't have any chroots).  Obviously the cheap fix would be to add
the cast myself, but this is somewhat annoying since there are a bunch
of calls to the host <-> network byte order functions.  Is there a
reason for this being a macro?  It seems to be that it causes an
unnecssary amount of inconsitancy for this arch.

Mike Furr <mike.furr@umbc.edu>

Attachment: signature.asc
Description: This is a digitally signed message part

Reply to: