>(What does htolell mean? Host to Little Endian Long Long?) Correct. Thanks for debugging this.
Rush Manbert wrote: > > On Aug 5, 2009, at 8:08 AM, Jonathan Stoppani wrote: > >>> I just compiled TCompactProtocol.cpp after adding #warnings to >>> TProtocol.h >>> that let me know what path was taken through the header definitions. It >>> turns out that I got the definitions at line 134 (the "else" that >>> goes with >>> "# if defined(__GNUC__) && defined(__GLIBC__)"), so I suspect that >>> you see >>> the definitions starting at line 114, which do NOT define htolell or >>> letohll. >>> >>> This looks like a bug. It can be fixed by adding the proper >>> definitions for >>> the macros. I can't seem to find anything that defines what these do, >>> though, so it's not a slam dunk. If I look at the little endian code, >>> neither of these macros do anything, so I would guess that for your case >>> they should be defined as: >>> >>> # define htolell(n) bswap_64(n) >>> # define letohll(n) bswap_64(n) >>> >>> which would agree with what's done at line 111. That gives me >>> confidence. >>> You could try adding these lines after line 124, but I don't know how >>> you >>> verify that they're the correct definitions. (What does htolell mean? >>> Host >>> to Little Endian Long Long?) >> >> Hi Manbert, >> this morning I already tried to replace the macros the way you say and >> ATM all is working correctly... ;-) >> >> Anyway, thanks for your response! > > Ah, good. I'll add a Jira issue for it. > > - Rush
