You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by as...@apache.org on 2013/10/08 17:09:06 UTC

svn commit: r1530302 - in /qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl: deq_rec.cpp enq_rec.cpp txn_rec.cpp

Author: astitcher
Date: Tue Oct  8 15:09:05 2013
New Revision: 1530302

URL: http://svn.apache.org/r1530302
Log:
QPID-5129: Alignment issues on ARM

Modified:
    qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/deq_rec.cpp
    qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/enq_rec.cpp
    qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/txn_rec.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/deq_rec.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/deq_rec.cpp?rev=1530302&r1=1530301&r2=1530302&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/deq_rec.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/deq_rec.cpp Tue Oct  8 15:09:05 2013
@@ -270,12 +270,14 @@ deq_rec::decode(rec_hdr& h, void* rptr, 
         // Get and check header
         _deq_hdr.hdr_copy(h);
         rd_cnt = sizeof(rec_hdr);
-        _deq_hdr._deq_rid = *(u_int64_t*)((char*)rptr + rd_cnt);
+        //_deq_hdr._deq_rid = *(u_int64_t*)((char*)rptr + rd_cnt);
+        std::memcpy((void*)&_deq_hdr._deq_rid, (char*)rptr + rd_cnt, sizeof(u_int64_t));
         rd_cnt += sizeof(u_int64_t);
 #if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
         rd_cnt += sizeof(u_int32_t); // Filler 0
 #endif
-        _deq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        //_deq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        std::memcpy((void*)&_deq_hdr._xidsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
         rd_cnt = _deq_hdr.size();
         chk_hdr();
         if (_deq_hdr._xidsize)

Modified: qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/enq_rec.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/enq_rec.cpp?rev=1530302&r1=1530301&r2=1530302&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/enq_rec.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/enq_rec.cpp Tue Oct  8 15:09:05 2013
@@ -360,7 +360,8 @@ enq_rec::decode(rec_hdr& h, void* rptr, 
 #if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
         rd_cnt += sizeof(u_int32_t); // Filler 0
 #endif
-        _enq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        //_enq_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        std::memcpy((void*)&_enq_hdr._xidsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
         rd_cnt += sizeof(std::size_t);
 #if defined(JRNL_LITTLE_ENDIAN) && defined(JRNL_32_BIT)
         rd_cnt += sizeof(u_int32_t); // Filler 0
@@ -368,7 +369,8 @@ enq_rec::decode(rec_hdr& h, void* rptr, 
 #if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
         rd_cnt += sizeof(u_int32_t); // Filler 1
 #endif
-        _enq_hdr._dsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        //_enq_hdr._dsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        std::memcpy((void*)&_enq_hdr._dsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
         rd_cnt = _enq_hdr.size();
         chk_hdr();
         if (_enq_hdr._xidsize + (_enq_hdr.is_external() ? 0 : _enq_hdr._dsize))

Modified: qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/txn_rec.cpp
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/txn_rec.cpp?rev=1530302&r1=1530301&r2=1530302&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/txn_rec.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/legacystore/jrnl/txn_rec.cpp Tue Oct  8 15:09:05 2013
@@ -270,7 +270,8 @@ txn_rec::decode(rec_hdr& h, void* rptr, 
 #if defined(JRNL_BIG_ENDIAN) && defined(JRNL_32_BIT)
         rd_cnt += sizeof(u_int32_t); // Filler 0
 #endif
-        _txn_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        //_txn_hdr._xidsize = *(std::size_t*)((char*)rptr + rd_cnt);
+        std::memcpy((void*)&_txn_hdr._xidsize, (char*)rptr + rd_cnt, sizeof(std::size_t));
         rd_cnt = _txn_hdr.size();
         chk_hdr();
         _buff = std::malloc(_txn_hdr._xidsize);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org