Boost C++ Libraries: Ticket #8720: Fix for boost serialisation, portable binary archive on AIX https://svn.boost.org/trac10/ticket/8720 <p> On most platforms, char is signed, however on AIX by default char is unsigned. The portable binary archive assumes the char type is signed. </p> <p> The fix is simply to replace 'char' with 'signed char' in the correct places. </p> <p> This is a fairly safe and quick fix, can I please ask the authors of this library to add this fix, for the next version of boost. </p> <p> Here are the changes I made: (flagged under ' <em> changed ' comment </em>-------------------------------------------------------- portable_binary_iarchive.hpp </p> <blockquote> <p> void load(signed char &amp; t){ <em> changed </em></p> <blockquote> <p> this-&gt;primitive_base_t::load(t); </p> </blockquote> <p> } </p> </blockquote> <p> <em>------------------------------------------------------------- portable_binary_iarchive.cpp </em></p> <p> void portable_binary_iarchive::load_impl(boost::intmax_t &amp; l, char maxsize){ </p> <blockquote> <p> signed char size; <em> changed l = 0; this-&gt;primitive_base_t::load(size); </em></p> </blockquote> <blockquote> <p> if(0 == size){ </p> <blockquote> <p> return; </p> </blockquote> <p> } </p> </blockquote> <blockquote> <p> bool negative = (size &lt; 0); ...... </p> </blockquote> <p> <em> ----------------------------------------------------------------- portable_binary_oarchive.hpp </em></p> <blockquote> <p> void save(const signed char &amp; t){ <em> changed </em></p> <blockquote> <p> this-&gt;primitive_base_t::save(t); </p> </blockquote> <p> } </p> </blockquote> <p> <em> ----------------------------------------------------------- portable_binary_oarchive.cpp </em></p> <p> void portable_binary_oarchive::save_impl( </p> <blockquote> <p> const boost::intmax_t l, const char maxsize </p> </blockquote> <p> ){ </p> <blockquote> <p> signed char size = 0; <em> changed </em></p> </blockquote> <blockquote> <p> if(l == 0){ </p> <blockquote> <p> this-&gt;primitive_base_t::save(size); return; </p> </blockquote> <p> } </p> </blockquote> <blockquote> <p> .......... </p> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8720 Trac 1.4.3