[
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.