summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/sunversion.cxx3
-rw-r--r--sal/typesconfig/typesconfig.c31
-rw-r--r--store/source/stortree.cxx2
-rw-r--r--store/source/stortree.hxx2
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).
*/