diff options
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx | 3 | ||||
-rw-r--r-- | sal/typesconfig/typesconfig.c | 31 | ||||
-rw-r--r-- | store/source/stortree.cxx | 2 | ||||
-rw-r--r-- | store/source/stortree.hxx | 2 |
4 files changed, 29 insertions, 9 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx index 083739078bf0..f3586af32bb5 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx @@ -110,8 +110,7 @@ bool SunVersion::init(const char *szVersion) ! (nPartPos == 0) // prevents: ".4.1", "..1", part must start with digit && ( //seperators after maintainance (1.4.1_01, 1.4.1-beta, or1.4.1 - (pCur == pEnd || *pCur == '_' || *pCur == '-') - && (nPart == 2 ) + ((pCur == pEnd || *pCur == '_' || *pCur == '-') && (nPart == 2 )) || //separators between major-minor and minor-maintainance (nPart < 2 && *pCur == '.') ) diff --git a/sal/typesconfig/typesconfig.c b/sal/typesconfig/typesconfig.c index be02052378ae..932d80fd979a 100644 --- a/sal/typesconfig/typesconfig.c +++ b/sal/typesconfig/typesconfig.c @@ -163,20 +163,37 @@ int check( TestFunc func, Type eT, void* p ) |* Letzte Aenderung |* *************************************************************************/ -static int dummy(void* unused); +#if defined(IA64) || defined(ARM32) + +int forceerror() +{ +#if defined(ARM32) +// workaround for qemu-user + hit = 1; +#else + raise (SIGBUS); +#endif + return 1; +} int GetAtAddress( Type eT, void* p ) { -#if defined(IA64) || defined(ARM32) switch ( eT ) { case t_char: return *((char*)p); - case t_short: if ((long)p % sizeof(short)) abort(); else return *((short*)p); - case t_int: if ((long)p % sizeof(int)) abort(); else return *((int*)p); - case t_long: if ((long)p % sizeof(long)) abort(); else return *((long*)p); - case t_double: if ((long)p % sizeof(double)) abort(); else return *((double*)p); + case t_short: if ((long)p % sizeof(short)) return forceerror(); else return *((short*)p); + case t_int: if ((long)p % sizeof(int)) return forceerror(); else return *((int*)p); + case t_long: if ((long)p % sizeof(long)) return forceerror(); else return *((long*)p); + case t_double: if ((long)p % sizeof(double)) return forceerror(); else return *((double*)p); } + abort(); +} + #else +static int dummy(void* unused); + +int GetAtAddress( Type eT, void* p ) +{ switch ( eT ) { case t_char: { char x = *(char*)p; return dummy(&x); } @@ -185,7 +202,6 @@ int GetAtAddress( Type eT, void* p ) case t_long: { long x = *(long*)p; return dummy(&x); } case t_double: { double x = *(double*)p; return dummy(&x); } } -#endif abort(); } @@ -195,6 +211,7 @@ int dummy(void* unused) return 0; } +#endif /************************************************************************* |* |* SetAtAddress() diff --git a/store/source/stortree.cxx b/store/source/stortree.cxx index 84d27806c131..614b995aba72 100644 --- a/store/source/stortree.cxx +++ b/store/source/stortree.cxx @@ -127,6 +127,7 @@ void OStoreBTreeNodeData::remove (sal_uInt16 i) } } +#if 0 /* NYI */ /* * merge (with right page). */ @@ -140,6 +141,7 @@ void OStoreBTreeNodeData::merge (const self& rPageR) usageCount (n + m); } } +#endif /* * split (left half copied from right half of left page). diff --git a/store/source/stortree.hxx b/store/source/stortree.hxx index ddfe4fecc5bf..9aa5da92cfda 100644 --- a/store/source/stortree.hxx +++ b/store/source/stortree.hxx @@ -224,9 +224,11 @@ struct OStoreBTreeNodeData : public store::OStorePageData void insert (sal_uInt16 i, const T& t); void remove (sal_uInt16 i); +#if 0 /* NYI */ /** merge (with right page). */ void merge (const self& rPageR); +#endif /** split (left half copied from right half of left page). */ |