diff options
| author | Kim van der Riet <kpvdr@apache.org> | 2013-12-12 16:15:36 +0000 |
|---|---|---|
| committer | Kim van der Riet <kpvdr@apache.org> | 2013-12-12 16:15:36 +0000 |
| commit | dee0bdeeb0dca38b93f48a93ea93a42a6ca4b912 (patch) | |
| tree | d1978cbc9a90ec209f26bf700fb4fb29ef978aa4 | |
| parent | 406f56e32fbd5bca15dc86f3124c3d6fbc51e33e (diff) | |
| download | qpid-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.cpp | 4 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/linearstore/jrnl/enq_rec.cpp | 4 | ||||
| -rw-r--r-- | qpid/cpp/src/qpid/linearstore/jrnl/txn_rec.cpp | 2 |
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); |
