Endianness is wrong if <endian.h> header is not available
---------------------------------------------------------

                 Key: THRIFT-773
                 URL: https://issues.apache.org/jira/browse/THRIFT-773
             Project: Thrift
          Issue Type: Bug
          Components: Compiler (C++)
    Affects Versions: 0.2
            Reporter: Norman Casagrande
         Attachments: protocol_endian.patch

TProtocol expects the header <endian.h> to be available, otherwise it relies on 
<boost/config.hpp>, but
* boost/config does not define endianness, that's done by 
<boost/detail/endian.hpp>
* even if it was, boost only defines the macro depending on the type (so either 
BOOST_LITTLE_ENDIAN or BOOST_BIG_ENDIAN) and does not, as in <endian.h> set a 
value.

As result, if <endian.h> is not available, the code always uses big endianness.

The simplest solution is to include the right header and define those values 
using the information boost provides.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to