I am getting below MISRA QAC Warning.
This assignment is redundant. The value of this object is never used before being modified. MISRA_2012, QAC, Message Identifier: 2982
I am trying to modify local status of variable to specific error value.
code:
FUNC(void, RTE_CODE) Rte_Server_S_service_exteriorLighting_UI_unsubscribeExteriorLightSettings (ExteriorLightingUI_unsubscribeExteriorLightSettings_subscriptionId_type subscriptionId, P2CONST(uint8, AUTOMATIC, RTE_APPL_DATA) consumerId, P2VAR(ExteriorLightingUI_AT_SubscriptionStatus, AUTOMATIC, RTE_APPL_DATA) status)
{
uint16 localStatus;
TS_MemSet(&localStatus, 0u, sizeof(localStatus));
uint8 conId;
uint8 isSubIdFound = COMH_FALSE;
if(subscriptionId == COMH_SUBSCRIPTION_TO_ALL)
{
conId = SubAll_ES_is_validate_ConsumerId(consumerId); //function call
if(conId < 2u)
{
localStatus = (uint16) COMH_SOMEIP_SUBSCRIPTION_CANCELLED;
isSubIdFound = COMH_TRUE;
}
else
{
localStatus = (uint16) COMH_SOMEIP_SUBSCRIPTION_ERROR;
}
}
else
{
localStatus = (uint16) COMH_SOMEIP_SUBSCRIPTION_ERROR;
}
if(isSubIdFound == COMH_FALSE)
{
localStatus = (uint16) COMH_SOMEIP_SUBSCRIPTION_TARGET_DELETED;
}
/* fill response buffer of SOMEIP method */
TS_MemCpy(status, &localStatus, sizeof(localStatus));
}
Before this statement I am using memset to fill 0 value in
localStatus.
After this statement, I am using memcpy to fill respected
error code in localStatus.