You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "David Reiss (JIRA)" <ji...@apache.org> on 2010/06/15 20:44:25 UTC

[jira] Commented: (THRIFT-773) Endianness is wrong if header is not available

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