[ 
https://issues.apache.org/jira/browse/THRIFT-773?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12879065#action_12879065
 ] 

David Reiss commented on THRIFT-773:
------------------------------------

Why not define __LITTLE_ENDIAN and __BIG_ENDIAN unconditionally since we are 
comparing against their values?

> 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