From f0dff0d9d152d3b96403a6f5df25e307392cbe06 Mon Sep 17 00:00:00 2001 From: Christian Lohmaier Date: Tue, 8 Nov 2011 19:32:48 +0100 Subject: use non-const buffer to enable byte-order swapping on BigEndian system --- oox/source/helper/binaryoutputstream.cxx | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'oox') diff --git a/oox/source/helper/binaryoutputstream.cxx b/oox/source/helper/binaryoutputstream.cxx index c96eeb95997f..97269f2c6dff 100644 --- a/oox/source/helper/binaryoutputstream.cxx +++ b/oox/source/helper/binaryoutputstream.cxx @@ -129,7 +129,14 @@ BinaryOutputStream::writeUnicodeArray( const ::rtl::OUString& rString, bool bAll OUString sBuf( rString ); if( !bAllowNulChars ) sBuf.replace( '\0', '?' ); +#ifdef OSL_BIGENDIAN + // need a non-const buffer for swapping byte order + sal_Unicode notConst[sBuf.getLength()]; + memcpy( notConst, sBuf.getStr(), sizeof(sal_Unicode)*sBuf.getLength() ); + writeArray( notConst, sBuf.getLength() ); +#else writeArray( sBuf.getStr(), sBuf.getLength() ); +#endif } void -- cgit