summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2013-12-12 16:15:36 +0000
committerKim van der Riet <kpvdr@apache.org>2013-12-12 16:15:36 +0000
commitdee0bdeeb0dca38b93f48a93ea93a42a6ca4b912 (patch)
treed1978cbc9a90ec209f26bf700fb4fb29ef978aa4
parent406f56e32fbd5bca15dc86f3124c3d6fbc51e33e (diff)
downloadqpid-python-dee0bdeeb0dca38b93f48a93ea93a42a6ca4b912.tar.gz
QPID-5401 Linearstore: ARM compile error: cast ... increases required alignment of target type
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.26@1550446 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp4
-rw-r--r--qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp4
-rw-r--r--qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp2
3 files changed, 5 insertions, 5 deletions
diff --git a/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp b/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp
index 5b251b7908..e7b4365d46 100644
--- a/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp
+++ b/qpid/cpp/src/qpid/linearstore/jrnl/deq_rec.cpp
@@ -280,9 +280,9 @@ deq_rec::decode(rec_hdr_t& h, void* rptr, uint32_t rec_offs_dblks, uint32_t max_
//_deq_hdr.hdr_copy(h);
::rec_hdr_copy(&_deq_hdr._rhdr, &h);
rd_cnt = sizeof(rec_hdr_t);
- _deq_hdr._deq_rid = *(uint64_t*)((char*)rptr + rd_cnt);
+ std::memcpy(&_deq_hdr._deq_rid, (char*)rptr + rd_cnt, sizeof(u_int64_t));
rd_cnt += sizeof(uint64_t);
- _deq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+ std::memcpy(&_deq_hdr._xidsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
rd_cnt = sizeof(deq_hdr_t);
chk_hdr();
if (_deq_hdr._xidsize)
diff --git a/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp b/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp
index e968320ac6..9b845b8c6a 100644
--- a/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp
+++ b/qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp
@@ -352,12 +352,12 @@ enq_rec::decode(rec_hdr_t& h, void* rptr, uint32_t rec_offs_dblks, uint32_t max_
//_enq_hdr.hdr_copy(h);
::rec_hdr_copy(&_enq_hdr._rhdr, &h);
rd_cnt = sizeof(rec_hdr_t);
- _enq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+ std::memcpy(&_enq_hdr._xidsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
rd_cnt += sizeof(std::size_t);
#if defined(JRNL_32_BIT)
rd_cnt += sizeof(uint32_t); // Filler 0
#endif
- _enq_hdr._dsize = *(std::size_t*)((char*)rptr + rd_cnt);
+ std::memcpy(&_enq_hdr._dsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
rd_cnt = sizeof(enq_hdr_t);
chk_hdr();
if (_enq_hdr._xidsize + (::is_enq_external(&_enq_hdr) ? 0 : _enq_hdr._dsize))
diff --git a/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp b/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp
index 3c78903520..952579393d 100644
--- a/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp
+++ b/qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp
@@ -263,7 +263,7 @@ txn_rec::decode(rec_hdr_t& h, void* rptr, uint32_t rec_offs_dblks, uint32_t max_
#if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
rd_cnt += sizeof(uint32_t); // Filler 0
#endif
- _txn_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+ std::memcpy(&_txn_hdr._xidsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
rd_cnt = sizeof(txn_hdr_t);
chk_hdr();
_buff = std::malloc(_txn_hdr._xidsize);