diff --git a/external/boost/archive/portable_binary_iarchive.hpp b/external/boost/archive/portable_binary_iarchive.hpp index bd19599f3..d17e95c05 100644 --- a/external/boost/archive/portable_binary_iarchive.hpp +++ b/external/boost/archive/portable_binary_iarchive.hpp @@ -258,7 +258,7 @@ portable_binary_iarchive::load_impl(boost::intmax_t & l, char maxsize){ this->primitive_base_t::load_binary(cptr, size); #if BOOST_ENDIAN_BIG_BYTE - if(m_flags & endian_little) + if((m_flags & endian_little) || (!(m_flags & endian_big))) #else if(m_flags & endian_big) #endif @@ -343,6 +343,8 @@ portable_binary_iarchive::init(unsigned int flags){ ); #endif } + if (!(m_flags & (endian_little | endian_big))) + m_flags |= endian_little; unsigned char x; load(x); m_flags = x << CHAR_BIT; diff --git a/external/boost/archive/portable_binary_oarchive.hpp b/external/boost/archive/portable_binary_oarchive.hpp index 783c7f7c9..a0ac0a9b5 100644 --- a/external/boost/archive/portable_binary_oarchive.hpp +++ b/external/boost/archive/portable_binary_oarchive.hpp @@ -171,7 +171,7 @@ protected: void init(unsigned int flags); public: - portable_binary_oarchive(std::ostream & os, unsigned flags = 0) : + portable_binary_oarchive(std::ostream & os, unsigned flags = endian_little) : primitive_base_t( * os.rdbuf(), 0 != (flags & boost::archive::no_codecvt)