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 seethe 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 forthe 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 casethey 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? Hostto 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
smime.p7s
Description: S/MIME cryptographic signature
