PC-Lint warnings fixed:
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Tue, 3 Jan 2012 09:48:44 +0000 (07:48 -0200)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Tue, 3 Jan 2012 09:48:44 +0000 (07:48 -0200)
- Info 713: Loss of precision (arg. no. 1) (unsigned int to int);
- Info 701: Shift left of signed quantity (int).

src/host/messagepayload.cpp

index 0ae5155..f2c1eda 100644 (file)
@@ -108,7 +108,8 @@ const uint8_t& MessagePayload::operator[]( size_t offset ) const
 {
     BOOST_ASSERT( offset < PayloadSizeInBytes );
 
-    return Payload[ offset ];
+    ptrdiff_t index = static_cast<ptrdiff_t>(offset);
+    return Payload[ index ];
 }
 
 /**
@@ -123,7 +124,8 @@ uint8_t& MessagePayload::operator[]( size_t offset )
 {
     BOOST_ASSERT( offset < PayloadSizeInBytes );
 
-    return Payload[ offset ];
+    ptrdiff_t index = static_cast<ptrdiff_t>(offset);
+    return Payload[ index ];
 } //lint !e1762
 
 /**
@@ -257,7 +259,7 @@ uint32_t MessagePayload::decode32(
 
     int current_byte = first_byte;
 
-    uint64_t value = static_cast<uint32_t>( Payload[ current_byte ] << 24 );
+    uint64_t value = static_cast<uint32_t>( Payload[ current_byte ] ) << 24;
     value += static_cast<uint32_t>( Payload[ ++current_byte ] << 16 );
     value += static_cast<uint32_t>( Payload[ ++current_byte ] << 8 );
     value += static_cast<uint32_t>( Payload[ ++current_byte ] );