in source/defender.c [183:251]
static void writeFormatAndSuffix( char * pBuffer,
DefenderTopic_t api )
{
/* The following variables are to address MISRA Rule 7.4 violation of
* passing const char * for const void * param of memcpy. */
const char * pDefenderApiJsonFormat = DEFENDER_API_JSON_FORMAT;
const char * pDefenderApiCborFormat = DEFENDER_API_CBOR_FORMAT;
const char * pDefenderApiAcceptedSuffix = DEFENDER_API_ACCEPTED_SUFFIX;
const char * pDefenderApiRejectedSuffix = DEFENDER_API_REJECTED_SUFFIX;
assert( pBuffer != NULL );
assert( ( api > DefenderInvalidTopic ) && ( api < DefenderMaxTopic ) );
switch( api )
{
case DefenderJsonReportPublish:
( void ) memcpy( ( void * ) pBuffer,
( const void * ) pDefenderApiJsonFormat,
( size_t ) DEFENDER_API_LENGTH_JSON_FORMAT );
break;
case DefenderJsonReportAccepted:
( void ) memcpy( ( void * ) pBuffer,
( const void * ) pDefenderApiJsonFormat,
( size_t ) DEFENDER_API_LENGTH_JSON_FORMAT );
( void ) memcpy( ( void * ) &( pBuffer[ DEFENDER_API_LENGTH_JSON_FORMAT ] ),
( const void * ) pDefenderApiAcceptedSuffix,
( size_t ) DEFENDER_API_LENGTH_ACCEPTED_SUFFIX );
break;
case DefenderJsonReportRejected:
( void ) memcpy( ( void * ) pBuffer,
( const void * ) pDefenderApiJsonFormat,
DEFENDER_API_LENGTH_JSON_FORMAT );
( void ) memcpy( ( void * ) &( pBuffer[ DEFENDER_API_LENGTH_JSON_FORMAT ] ),
( const void * ) pDefenderApiRejectedSuffix,
( size_t ) DEFENDER_API_LENGTH_REJECTED_SUFFIX );
break;
case DefenderCborReportPublish:
( void ) memcpy( ( void * ) pBuffer,
( const void * ) pDefenderApiCborFormat,
( size_t ) DEFENDER_API_LENGTH_CBOR_FORMAT );
break;
case DefenderCborReportAccepted:
( void ) memcpy( ( void * ) pBuffer,
( const void * ) pDefenderApiCborFormat,
DEFENDER_API_LENGTH_CBOR_FORMAT );
( void ) memcpy( ( void * ) &( pBuffer[ DEFENDER_API_LENGTH_CBOR_FORMAT ] ),
( const void * ) pDefenderApiAcceptedSuffix,
( size_t ) DEFENDER_API_LENGTH_ACCEPTED_SUFFIX );
break;
/* The default is here just to silence compiler warnings in a way which
* does not bring coverage down. The assert at the beginning of this
* function ensures that the only api value hitting this case can be
* DefenderCborReportRejected. */
case DefenderCborReportRejected:
default:
( void ) memcpy( ( void * ) pBuffer,
( const void * ) pDefenderApiCborFormat,
( size_t ) DEFENDER_API_LENGTH_CBOR_FORMAT );
( void ) memcpy( ( void * ) &( pBuffer[ DEFENDER_API_LENGTH_CBOR_FORMAT ] ),
( const void * ) pDefenderApiRejectedSuffix,
( size_t ) DEFENDER_API_LENGTH_REJECTED_SUFFIX );
break;
}
}