summaryrefslogtreecommitdiff
path: root/cppe/src/IceE/BasicStream.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2008-05-29 15:23:55 -0230
committerDwayne Boone <dwayne@zeroc.com>2008-05-29 15:23:55 -0230
commit63a8b0b0f6b6622f758a814853e112d4690d5f70 (patch)
treeb9638e8f323519c76f2b45c8a034af581e9b7c5f /cppe/src/IceE/BasicStream.cpp
parentBug 3215 - ARM/Linux double support (diff)
downloadice-63a8b0b0f6b6622f758a814853e112d4690d5f70.tar.bz2
ice-63a8b0b0f6b6622f758a814853e112d4690d5f70.tar.xz
ice-63a8b0b0f6b6622f758a814853e112d4690d5f70.zip
Fix Double ARM support
Diffstat (limited to 'cppe/src/IceE/BasicStream.cpp')
-rw-r--r--cppe/src/IceE/BasicStream.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/cppe/src/IceE/BasicStream.cpp b/cppe/src/IceE/BasicStream.cpp
index d653a6256c3..49495aeb47a 100644
--- a/cppe/src/IceE/BasicStream.cpp
+++ b/cppe/src/IceE/BasicStream.cpp
@@ -1269,6 +1269,21 @@ IceInternal::BasicStream::read(pair<const Double*, const Double*>& v)
*dest-- = *src++;
dest += 2 * sizeof(Double);
}
+# elif defined(__arm__) && defined(__linux)
+ const Byte* src = &(*begin);
+ Byte* dest = reinterpret_cast<Byte*>(&result[0]);
+ for(int j = 0 ; j < sz ; ++j)
+ {
+ dest[4] = *src++;
+ dest[5] = *src++;
+ dest[6] = *src++;
+ dest[7] = *src++;
+ dest[0] = *src++;
+ dest[1] = *src++;
+ dest[2] = *src++;
+ dest[3] = *src++;
+ dest += sizeof(Double);
+ }
# else
copy(begin, i, reinterpret_cast<Byte*>(&result[0]));
# endif