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

cFE Integration candidate: Equuleus-rc1+dev11 #2549

Merged
merged 3 commits into from
Apr 16, 2024
Merged

Conversation

dzbaker
Copy link
Collaborator

@dzbaker dzbaker commented Apr 16, 2024

Checklist (Please check before submitting)

Describe the contribution

Testing performed
cFS Bundle Checks
cFE Checks

Expected behavior changes
See PRs

System(s) tested on
Ubuntu 20.04

Additional context
Add any other context about the contribution here.

Third party code
If included, identify any third party code and provide text file of license

Contributor Info - All information REQUIRED for consideration of pull request
@jphickey

jphickey and others added 3 commits April 5, 2024 15:15
Adds a "HandleLink" structure to encapsulate the linked list
functionality and add generic routines to initialize and test/check
this structure, along with list insert/remove functions for
access descriptors that use this link struct interally.

This also cleans up documentation of the table resource ID functions
defined in cfe_tbl_resource.h
break;
}

Func(AccDescPtr, Arg);

Check notice

Code scanning / CodeQL

Use of non-constant function pointer Note

This call does not go through a const function pointer.
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_TBL_HandleListInsertLink(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescriptor_t *AccessDescPtr)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_TBL_HandleListRemoveLink(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescriptor_t *AccessDescPtr)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_TBL_ForeachAccessDescriptor(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescFunc_t Func, void *Arg)

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
* See description in header file for argument/return detail
*
*-----------------------------------------------------------------*/
void CFE_TBL_HandleListGetSafeLink(CFE_TBL_RegistryRec_t *RegRecPtr, CFE_TBL_AccessDescriptor_t *AccDescPtr,

Check notice

Code scanning / CodeQL

Long function without assertion Note

All functions of more than 10 lines should have at least one assertion.
CFE_TBL_TxnState_t *Txn = Arg;

/* Only notify *OTHER* applications that the contents have changed */
if (!CFE_RESOURCEID_TEST_EQUAL(AccessDescPtr->AppId, CFE_TBL_TxnAppId(Txn)))

Check warning

Code scanning / CodeQL

Side effect in a Boolean expression Warning

This Boolean expression is not side-effect free.

/* Return the Access Descriptor to the pool */
AccessDescPtr->UsedFlag = false;

/* If this was the last Access Descriptor for this table, we can free the memory buffers as well */
if (RegRecPtr->HeadOfAccessList == CFE_TBL_END_OF_LIST)
if (!CFE_TBL_HandleLinkIsAttached(&RegRecPtr->AccessList))

Check warning

Code scanning / CodeQL

Side effect in a Boolean expression Warning

This Boolean expression is not side-effect free.
Comment on lines +236 to +237
if (AccDescPtr->UsedFlag && AccDescPtr->RegIndex == CFE_TBL_TxnRegId(Txn) &&
CFE_RESOURCEID_TEST_EQUAL(AccDescPtr->AppId, CFE_TBL_TxnAppId(Txn)))

Check warning

Code scanning / CodeQL

Side effect in a Boolean expression Warning

This Boolean expression is not side-effect free.
* \param AccDescPtr Pointer to the current access descriptor
* \param Arg Opaque argument from caller (passed through)
*/
typedef void (* const CFE_TBL_AccessDescFunc_t)(CFE_TBL_AccessDescriptor_t *AccDescPtr, void *Arg);

Check notice

Code scanning / CodeQL

Hidden pointer indirection Note

The typedef CFE_TBL_AccessDescFunc_t hides pointer indirection.
@dzbaker dzbaker merged commit 28a5820 into main Apr 16, 2024
40 of 41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants