diff options
author | Caolán McNamara <cmc@openoffice.org> | 2010-01-18 11:56:59 +0000 |
---|---|---|
committer | Caolán McNamara <cmc@openoffice.org> | 2010-01-18 11:56:59 +0000 |
commit | cbb8cded67d757f53642e6753d286c6612757ffe (patch) | |
tree | c82fa9bdca601becf8c1f6c9d7b15859b94b81b7 /bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx | |
parent | 6e8628fb7374b7d19e15f03e63f8ad221ca25f1e (diff) |
s390xport02: #i108410# fix endian issues in s390x
Diffstat (limited to 'bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx')
-rw-r--r-- | bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx index 5940f566f9ca..cd922c2fa870 100644 --- a/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx +++ b/bridges/source/cpp_uno/gcc3_linux_s390x/uno2cpp.cxx @@ -60,19 +60,21 @@ void MapReturn(long r2, double f0, typelib_TypeClass eTypeClass, sal_uInt64* pRe { case typelib_TypeClass_HYPER: case typelib_TypeClass_UNSIGNED_HYPER: + *pRegisterReturn = r2; + break; case typelib_TypeClass_LONG: case typelib_TypeClass_UNSIGNED_LONG: case typelib_TypeClass_ENUM: - *pRegisterReturn = r2; + *(unsigned int*)pRegisterReturn = (unsigned int)r2; break; case typelib_TypeClass_CHAR: case typelib_TypeClass_SHORT: case typelib_TypeClass_UNSIGNED_SHORT: - *pRegisterReturn = (unsigned short)r2; + *(unsigned short*)pRegisterReturn = (unsigned short)r2; break; case typelib_TypeClass_BOOLEAN: case typelib_TypeClass_BYTE: - *pRegisterReturn = (unsigned char)r2; + *(unsigned char*)pRegisterReturn = (unsigned char)r2; break; case typelib_TypeClass_FLOAT: *reinterpret_cast<float *>( pRegisterReturn ) = f0; |