summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2008-04-24 15:27:36 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2008-04-24 15:27:36 +0000
commit3c14727eca882684261b22cdd196b783ce589fa3 (patch)
treeb0d3a45685ba5ac88110f976af2a54d33e843dde /bridges
parent470221cf8e744da9bf0c89181a289d45e7a0bc03 (diff)
INTEGRATION: CWS sb85 (1.14.90); FILE MERGED
2008/03/12 13:45:55 sb 1.14.90.1: #i86117# do not trigger alignment errors
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/remote/urp/urp_unmarshal.cxx42
1 files changed, 23 insertions, 19 deletions
diff --git a/bridges/source/remote/urp/urp_unmarshal.cxx b/bridges/source/remote/urp/urp_unmarshal.cxx
index e7f43d36fb41..798a5ff79ec5 100644
--- a/bridges/source/remote/urp/urp_unmarshal.cxx
+++ b/bridges/source/remote/urp/urp_unmarshal.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: urp_unmarshal.cxx,v $
- * $Revision: 1.15 $
+ * $Revision: 1.16 $
*
* This file is part of OpenOffice.org.
*
@@ -253,35 +253,39 @@ sal_Bool Unmarshal::unpack( void *pDestination ,
case typelib_TypeClass_HYPER:
case typelib_TypeClass_UNSIGNED_HYPER:
{
- sal_uInt64 *p = ( sal_uInt64 * ) pDest;
- *p = 0;
+ sal_Int8 * p = static_cast< sal_Int8 * >(pDest);
bReturn = ! checkOverflow( 8 );
if( bReturn )
{
if( isSystemLittleEndian() )
{
- ((sal_Int8*) p )[7] = m_pos[0];
- ((sal_Int8*) p )[6] = m_pos[1];
- ((sal_Int8*) p )[5] = m_pos[2];
- ((sal_Int8*) p )[4] = m_pos[3];
- ((sal_Int8*) p )[3] = m_pos[4];
- ((sal_Int8*) p )[2] = m_pos[5];
- ((sal_Int8*) p )[1] = m_pos[6];
- ((sal_Int8*) p )[0] = m_pos[7];
+ p[7] = m_pos[0];
+ p[6] = m_pos[1];
+ p[5] = m_pos[2];
+ p[4] = m_pos[3];
+ p[3] = m_pos[4];
+ p[2] = m_pos[5];
+ p[1] = m_pos[6];
+ p[0] = m_pos[7];
}
else
{
- ((sal_Int8*) p )[0] = m_pos[0];
- ((sal_Int8*) p )[1] = m_pos[1];
- ((sal_Int8*) p )[2] = m_pos[2];
- ((sal_Int8*) p )[3] = m_pos[3];
- ((sal_Int8*) p )[4] = m_pos[4];
- ((sal_Int8*) p )[5] = m_pos[5];
- ((sal_Int8*) p )[6] = m_pos[6];
- ((sal_Int8*) p )[7] = m_pos[7];
+ p[0] = m_pos[0];
+ p[1] = m_pos[1];
+ p[2] = m_pos[2];
+ p[3] = m_pos[3];
+ p[4] = m_pos[4];
+ p[5] = m_pos[5];
+ p[6] = m_pos[6];
+ p[7] = m_pos[7];
}
m_pos += 8;
}
+ else
+ {
+ // Do not trigger alignment errors:
+ p[0] = p[1] = p[2] = p[3] = p[4] = p[5] = p[6] = p[7] = 0;
+ }
break;
}
case typelib_TypeClass_STRING: