PC-Lint warnings fixed:
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sat, 24 Dec 2011 13:22:30 +0000 (11:22 -0200)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sat, 24 Dec 2011 13:22:30 +0000 (11:22 -0200)
- Info 737: Loss of sign in promotion from int to unsigned int;
- Info 713: Loss of precision (arg. no. 2) (unsigned int to int) in 'is.read( ..., PayloadSizeInBytes )' and 'os.write( ..., PayloadSizeInBytes )'.

src/host/messagepayload.cpp

index ea2f2ea..0ae5155 100644 (file)
@@ -201,7 +201,7 @@ uint16_t MessagePayload::decode16(
     BOOST_ASSERT( ( 0 <= left_byte ) && ( left_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( ( 0 <= right_byte ) && ( right_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( left_byte < right_byte );
-    BOOST_ASSERT( ( ( right_byte - left_byte ) + 1 ) == sizeof(uint16_t) );
+    BOOST_ASSERT( ( static_cast<size_t>( right_byte - left_byte ) + 1 ) == sizeof(uint16_t) );
 
     uint32_t value = static_cast<uint16_t>( Payload[ left_byte ] << 8 );
     value += static_cast<uint16_t>( Payload[ right_byte ] );
@@ -230,7 +230,7 @@ void MessagePayload::encode16(
     BOOST_ASSERT( ( 0 <= left_byte ) && ( left_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( ( 0 <= right_byte ) && ( right_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( left_byte < right_byte );
-    BOOST_ASSERT( ( ( right_byte - left_byte ) + 1 ) == sizeof(uint16_t) );
+    BOOST_ASSERT( ( static_cast<size_t>( right_byte - left_byte ) + 1 ) == sizeof(uint16_t) );
 
     Payload[ left_byte ] = static_cast<uint8_t>( value >> 8 );
     Payload[ right_byte ] = static_cast<uint8_t>( value & 0xFF );
@@ -253,7 +253,7 @@ uint32_t MessagePayload::decode32(
     BOOST_ASSERT( ( 0 <= first_byte ) && ( first_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( ( 0 <= last_byte ) && ( last_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( first_byte < last_byte );
-    BOOST_ASSERT( ( ( last_byte - first_byte ) + 1 ) == sizeof(uint32_t) );
+    BOOST_ASSERT( ( static_cast<size_t>( last_byte - first_byte ) + 1 ) == sizeof(uint32_t) );
 
     int current_byte = first_byte;
 
@@ -287,7 +287,7 @@ void MessagePayload::encode32(
     BOOST_ASSERT( ( 0 < first_byte ) && ( first_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( ( 0 < last_byte ) && ( last_byte < static_cast<int>(PayloadSizeInBytes) ) );
     BOOST_ASSERT( first_byte < last_byte );
-    BOOST_ASSERT( ( ( last_byte - first_byte ) + 1 ) == sizeof(uint32_t) );
+    BOOST_ASSERT( ( static_cast<size_t>( last_byte - first_byte ) + 1 ) == sizeof(uint32_t) );
 
     int current_byte = first_byte;
 
@@ -313,7 +313,7 @@ istream& MessagePayload::read( istream &is )
 
     char *payload_data_array = reinterpret_cast<char *>( Payload.get() );
 
-    (void) is.read( payload_data_array, PayloadSizeInBytes );
+    (void) is.read( payload_data_array, static_cast<streamsize>( PayloadSizeInBytes ) );
 
     size_t data_received_in_bytes = static_cast<size_t>( is.gcount() );
     if ( data_received_in_bytes != PayloadSizeInBytes )
@@ -339,7 +339,7 @@ ostream& MessagePayload::write( ostream &os ) const
 
     const char *data_array = reinterpret_cast<const char *>( Payload.get() );
 
-    (void) os.write( data_array, PayloadSizeInBytes );
+    (void) os.write( data_array, static_cast<streamsize>( PayloadSizeInBytes ) );
 
     return os;
 }