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

Dave Engberg commented on THRIFT-851:
-------------------------------------

This broke the marshaling of i64 data on Windows when compiling with Visual 
Studio.  I.e. i64 marshals correctly via TBinaryProtocol::readI64() using the 
Thrift 0.4.0 tag, but marshals incorrectly with the current Thrift trunk.
Here's the only delta (in TProtocol.h):

-#ifdef HAVE_ENDIAN_H
-#include <endian.h>
+#ifdef HAVE_SYS_PARAM_H_
+#include <sys/param.h>
 #endif

Since 'endian.h' was removed from the header, the conditional macros that check 
for endian-ness don't appear to do the right thing on Windows.


> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: PHP - Library
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>            Assignee: Todd Lipcon
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like 
> Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

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