Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #115, Adds distinct identifiers from command name #123

Merged
merged 1 commit into from
Feb 1, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions fsw/src/ds_cmds.c
Original file line number Diff line number Diff line change
Expand Up @@ -962,11 +962,11 @@

void DS_CloseFileCmd(const CFE_SB_Buffer_t *BufPtr)
{
const DS_CloseFile_Payload_t *DS_CloseFileCmd;
const DS_CloseFile_Payload_t *PayloadPtr;

DS_CloseFileCmd = DS_GET_CMD_PAYLOAD(BufPtr, DS_CloseFileCmd_t);
PayloadPtr = DS_GET_CMD_PAYLOAD(BufPtr, DS_CloseFileCmd_t);

if (DS_TableVerifyFileIndex(DS_CloseFileCmd->FileTableIndex) == false)
if (DS_TableVerifyFileIndex(PayloadPtr->FileTableIndex) == false)
{
/*
** Invalid destination file table index...
Expand All @@ -975,23 +975,23 @@

CFE_EVS_SendEvent(DS_CLOSE_CMD_ERR_EID, CFE_EVS_EventType_ERROR,
"Invalid DEST CLOSE command arg: file table index = %d",
(int)DS_CloseFileCmd->FileTableIndex);
(int)PayloadPtr->FileTableIndex);
}
else
{
/*
** Close destination file (if the file was open)...
*/
if (OS_ObjectIdDefined(DS_AppData.FileStatus[DS_CloseFileCmd->FileTableIndex].FileHandle))
if (OS_ObjectIdDefined(DS_AppData.FileStatus[PayloadPtr->FileTableIndex].FileHandle))
{
DS_FileUpdateHeader(DS_CloseFileCmd->FileTableIndex);
DS_FileCloseDest(DS_CloseFileCmd->FileTableIndex);
DS_FileUpdateHeader(PayloadPtr->FileTableIndex);
DS_FileCloseDest(PayloadPtr->FileTableIndex);
}

DS_AppData.CmdAcceptedCounter++;

CFE_EVS_SendEvent(DS_CLOSE_CMD_EID, CFE_EVS_EventType_INFORMATION, "DEST CLOSE command: file table index = %d",
(int)DS_CloseFileCmd->FileTableIndex);
(int)PayloadPtr->FileTableIndex);
}
}

Expand Down Expand Up @@ -1115,16 +1115,16 @@

void DS_AddMIDCmd(const CFE_SB_Buffer_t *BufPtr)
{
const DS_AddRemoveMid_Payload_t *DS_AddMidCmd;
const DS_AddRemoveMid_Payload_t *PayloadPtr;
DS_PacketEntry_t * pPacketEntry = NULL;
DS_FilterParms_t * pFilterParms = NULL;
int32 FilterTableIndex = 0;
int32 HashTableIndex = 0;
int32 i = 0;

DS_AddMidCmd = DS_GET_CMD_PAYLOAD(BufPtr, DS_AddMidCmd_t);
PayloadPtr = DS_GET_CMD_PAYLOAD(BufPtr, DS_AddMidCmd_t);

if (!CFE_SB_IsValidMsgId(DS_AddMidCmd->MessageID))
if (!CFE_SB_IsValidMsgId(PayloadPtr->MessageID))
{
/*
** Invalid packet message ID - can be anything but unused...
Expand All @@ -1133,7 +1133,7 @@

CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR,
"Invalid ADD MID command arg: invalid MID = 0x%08lX",
(unsigned long)CFE_SB_MsgIdToValue(DS_AddMidCmd->MessageID));
(unsigned long)CFE_SB_MsgIdToValue(PayloadPtr->MessageID));
}
else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL)
{
Expand All @@ -1145,7 +1145,7 @@
CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR,
"Invalid ADD MID command: filter table is not loaded");
}
else if ((FilterTableIndex = DS_TableFindMsgID(DS_AddMidCmd->MessageID)) != DS_INDEX_NONE)
else if ((FilterTableIndex = DS_TableFindMsgID(PayloadPtr->MessageID)) != DS_INDEX_NONE)

Check warning

Code scanning / CodeQL

Side effect in a Boolean expression Warning

This Boolean expression is not side-effect free.
{
/*
** New message ID is already in packet filter table...
Expand All @@ -1154,7 +1154,7 @@

CFE_EVS_SendEvent(DS_ADD_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR,
"Invalid ADD MID command: MID = 0x%08lX is already in filter table at index = %d",
(unsigned long)CFE_SB_MsgIdToValue(DS_AddMidCmd->MessageID), (int)FilterTableIndex);
(unsigned long)CFE_SB_MsgIdToValue(PayloadPtr->MessageID), (int)FilterTableIndex);
}
else if ((FilterTableIndex = DS_TableFindMsgID(CFE_SB_INVALID_MSG_ID)) == DS_INDEX_NONE)
{
Expand All @@ -1173,10 +1173,10 @@
*/
pPacketEntry = &DS_AppData.FilterTblPtr->Packet[FilterTableIndex];

pPacketEntry->MessageID = DS_AddMidCmd->MessageID;
pPacketEntry->MessageID = PayloadPtr->MessageID;

/* Add the message ID to the hash table as well */
HashTableIndex = DS_TableAddMsgID(DS_AddMidCmd->MessageID, FilterTableIndex);
HashTableIndex = DS_TableAddMsgID(PayloadPtr->MessageID, FilterTableIndex);

for (i = 0; i < DS_FILTERS_PER_PACKET; i++)
{
Expand All @@ -1190,7 +1190,7 @@
pFilterParms->Algorithm_O = 0;
}

CFE_SB_SubscribeEx(DS_AddMidCmd->MessageID, DS_AppData.CmdPipe, CFE_SB_DEFAULT_QOS, DS_PER_PACKET_PIPE_LIMIT);
CFE_SB_SubscribeEx(PayloadPtr->MessageID, DS_AppData.CmdPipe, CFE_SB_DEFAULT_QOS, DS_PER_PACKET_PIPE_LIMIT);
/*
** Notify cFE that we have modified the table data...
*/
Expand All @@ -1200,7 +1200,7 @@

CFE_EVS_SendEvent(DS_ADD_MID_CMD_EID, CFE_EVS_EventType_INFORMATION,
"ADD MID command: MID = 0x%08lX, filter index = %d, hash index = %d",
(unsigned long)CFE_SB_MsgIdToValue(DS_AddMidCmd->MessageID), (int)FilterTableIndex,
(unsigned long)CFE_SB_MsgIdToValue(PayloadPtr->MessageID), (int)FilterTableIndex,
(int)HashTableIndex);
}
}
Expand All @@ -1213,18 +1213,18 @@

void DS_RemoveMIDCmd(const CFE_SB_Buffer_t *BufPtr)
{
const DS_AddRemoveMid_Payload_t *DS_RemoveMidCmd;
const DS_AddRemoveMid_Payload_t *PayloadPtr;

DS_PacketEntry_t *pPacketEntry = NULL;
DS_FilterParms_t *pFilterParms = NULL;
int32 FilterTableIndex = 0;
int32 HashTableIndex = 0;
int32 i = 0;

DS_RemoveMidCmd = DS_GET_CMD_PAYLOAD(BufPtr, DS_RemoveMidCmd_t);
FilterTableIndex = DS_TableFindMsgID(DS_RemoveMidCmd->MessageID);
PayloadPtr = DS_GET_CMD_PAYLOAD(BufPtr, DS_RemoveMidCmd_t);
FilterTableIndex = DS_TableFindMsgID(PayloadPtr->MessageID);

if (!CFE_SB_IsValidMsgId(DS_RemoveMidCmd->MessageID))
if (!CFE_SB_IsValidMsgId(PayloadPtr->MessageID))
{
/*
** Invalid packet message ID - can be anything but unused...
Expand All @@ -1233,7 +1233,7 @@

CFE_EVS_SendEvent(DS_REMOVE_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR,
"Invalid REMOVE MID command arg: invalid MID = 0x%08lX",
(unsigned long)CFE_SB_MsgIdToValue(DS_RemoveMidCmd->MessageID));
(unsigned long)CFE_SB_MsgIdToValue(PayloadPtr->MessageID));
}
else if (DS_AppData.FilterTblPtr == (DS_FilterTable_t *)NULL)
{
Expand All @@ -1254,12 +1254,12 @@

CFE_EVS_SendEvent(DS_REMOVE_MID_CMD_ERR_EID, CFE_EVS_EventType_ERROR,
"Invalid REMOVE MID command: MID = 0x%08lX is not in filter table",
(unsigned long)CFE_SB_MsgIdToValue(DS_RemoveMidCmd->MessageID));
(unsigned long)CFE_SB_MsgIdToValue(PayloadPtr->MessageID));
}
else
{
/* Convert MID into hash table index */
HashTableIndex = DS_TableHashFunction(DS_RemoveMidCmd->MessageID);
HashTableIndex = DS_TableHashFunction(PayloadPtr->MessageID);

/*
** Reset used packet filter entry for used message ID...
Expand All @@ -1283,7 +1283,7 @@
pFilterParms->Algorithm_O = 0;
}

CFE_SB_Unsubscribe(DS_RemoveMidCmd->MessageID, DS_AppData.CmdPipe);
CFE_SB_Unsubscribe(PayloadPtr->MessageID, DS_AppData.CmdPipe);

/*
** Notify cFE that we have modified the table data...
Expand All @@ -1294,7 +1294,7 @@

CFE_EVS_SendEvent(DS_REMOVE_MID_CMD_EID, CFE_EVS_EventType_INFORMATION,
"REMOVE MID command: MID = 0x%08lX, filter index = %d, hash index = %d",
(unsigned long)CFE_SB_MsgIdToValue(DS_RemoveMidCmd->MessageID), (int)FilterTableIndex,
(unsigned long)CFE_SB_MsgIdToValue(PayloadPtr->MessageID), (int)FilterTableIndex,
(int)HashTableIndex);
}
}
Expand Down