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 #129, Reduce cyclomatic complexity of GetElfHeader #136

Merged
merged 1 commit into from
Sep 1, 2023

Conversation

chillfig
Copy link

@chillfig chillfig commented Jul 13, 2023

Describe the contribution

  • Fixes GetElfHeader - cyclomatic complexity of 36 #129
    This change reduces the cyclomatic complexity by 5. The changes specifically condense extraneous "Verbose" if statements for printing header as well as extraneous status assignments when checking the elf magic number.

Testing performed
None

Expected behavior changes
No expected impact to behavior.

System(s) tested on

  • OS: Ubuntu 22.04

Additional context
The cyclomatic complexity for this function still remains above the recommended 15, however the code is relatively clean and follows a pretty straightforward process. If desired, further reduction of cylomatic complexity by 8 can be achieved by creating new functions for the processor class type verification and data encoding type verification switch/case.

Third party code
N/A

Contributor Info - All information REQUIRED for consideration of pull request
Justin Figueroa, Vantage Systems

@chillfig chillfig added enhancement New feature or request CCB:Ready labels Jul 13, 2023
@chillfig chillfig self-assigned this Jul 13, 2023
elf2cfetbl.c Outdated
*
*/

int32 GetElfHeader(void)

Check notice

Code scanning / CodeQL

Long function without assertion

All functions of more than 10 lines should have at least one assertion.
elf2cfetbl.c Outdated
*
*/

int32 GetElfHeader(void)

Check notice

Code scanning / CodeQL

Function too long

GetElfHeader has too many lines (193, while 60 are allowed).
elf2cfetbl.c Fixed Show fixed Hide fixed
elf2cfetbl.c Fixed Show fixed Hide fixed
@dzbaker dzbaker added Equuleus-rc2 CCB:Approved Indicates code approval by CCB labels Aug 17, 2023
dzbaker added a commit to nasa/cFS that referenced this pull request Sep 1, 2023
*Combines:*

cFE v7.0.0-rc4+dev384
psp v1.6.0-rc4+dev90
osal v6.0.0-rc4+dev229
elf2cfetbl v3.3.0-rc4+dev36
ci_lab v2.5.0-rc4+dev47

**Includes:**

*cFE*
- nasa/cFE#2401
- nasa/cFE#2403
- nasa/cFE#2380
- nasa/cFE#2400
- nasa/cFE#2420

*psp*
- nasa/PSP#395
- nasa/PSP#400

*osal*
- nasa/osal#1409

*elf2cfetbl*
- nasa/elf2cfetbl#137
- nasa/elf2cfetbl#136

*ci_lab*
- nasa/ci_lab#143

Co-authored by: Justin Figueroa <[email protected]>
Co-authored by: Jacob Hageman  <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Jacob Killelea <[email protected]>
Co-authored by: Dylan Z. Baker <[email protected]>
@dzbaker dzbaker mentioned this pull request Sep 1, 2023
2 tasks
dzbaker added a commit to nasa/cFS that referenced this pull request Sep 1, 2023
*Combines:*

cFE v7.0.0-rc4+dev384
psp v1.6.0-rc4+dev90
osal v6.0.0-rc4+dev229
elf2cfetbl v3.3.0-rc4+dev36
ci_lab v2.5.0-rc4+dev47

**Includes:**

*cFE*
- nasa/cFE#2401
- nasa/cFE#2403
- nasa/cFE#2380
- nasa/cFE#2400
- nasa/cFE#2420

*psp*
- nasa/PSP#395
- nasa/PSP#400

*osal*
- nasa/osal#1409

*elf2cfetbl*
- nasa/elf2cfetbl#137
- nasa/elf2cfetbl#136

*ci_lab*
- nasa/ci_lab#143

Co-authored by: Justin Figueroa <[email protected]>
Co-authored by: Jacob Hageman  <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Jacob Killelea <[email protected]>
Co-authored by: Dylan Z. Baker <[email protected]>
dzbaker added a commit to nasa/cFS that referenced this pull request Sep 1, 2023
*Combines:*

cFE v7.0.0-rc4+dev384
psp v1.6.0-rc4+dev90
osal v6.0.0-rc4+dev229
elf2cfetbl v3.3.0-rc4+dev36
ci_lab v2.5.0-rc4+dev47

**Includes:**

*cFE*
- nasa/cFE#2401
- nasa/cFE#2403
- nasa/cFE#2380
- nasa/cFE#2400
- nasa/cFE#2420

*psp*
- nasa/PSP#395
- nasa/PSP#400

*osal*
- nasa/osal#1409

*elf2cfetbl*
- nasa/elf2cfetbl#137
- nasa/elf2cfetbl#136

*ci_lab*
- nasa/ci_lab#143

Co-authored by: Justin Figueroa <[email protected]>
Co-authored by: Jacob Hageman  <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Jacob Killelea <[email protected]>
Co-authored by: Dylan Z. Baker <[email protected]>
dzbaker added a commit to nasa/cFS that referenced this pull request Sep 1, 2023
*Combines:*

cFE v7.0.0-rc4+dev384
psp v1.6.0-rc4+dev90
osal v6.0.0-rc4+dev229
elf2cfetbl v3.3.0-rc4+dev36
ci_lab v2.5.0-rc4+dev47

**Includes:**

*cFE*
- nasa/cFE#2401
- nasa/cFE#2403
- nasa/cFE#2380
- nasa/cFE#2400
- nasa/cFE#2420

*psp*
- nasa/PSP#395
- nasa/PSP#400

*osal*
- nasa/osal#1409

*elf2cfetbl*
- nasa/elf2cfetbl#137
- nasa/elf2cfetbl#136

*ci_lab*
- nasa/ci_lab#143

Co-authored by: Justin Figueroa <[email protected]>
Co-authored by: Jacob Hageman  <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Jacob Killelea <[email protected]>
Co-authored by: Dylan Z. Baker <[email protected]>
@dzbaker dzbaker merged commit 8e5965c into nasa:main Sep 1, 2023
dzbaker added a commit to nasa/cFS that referenced this pull request Sep 1, 2023
*Combines:*

cFE v7.0.0-rc4+dev384
psp v1.6.0-rc4+dev90
osal v6.0.0-rc4+dev229
elf2cfetbl v3.3.0-rc4+dev36
ci_lab v2.5.0-rc4+dev47

**Includes:**

*cFE*
- nasa/cFE#2401
- nasa/cFE#2403
- nasa/cFE#2380
- nasa/cFE#2400
- nasa/cFE#2420

*psp*
- nasa/PSP#395
- nasa/PSP#400

*osal*
- nasa/osal#1409

*elf2cfetbl*
- nasa/elf2cfetbl#137
- nasa/elf2cfetbl#136

*ci_lab*
- nasa/ci_lab#143

Co-authored by: Justin Figueroa <[email protected]>
Co-authored by: Jacob Hageman  <[email protected]>
Co-authored by: Joseph Hickey <[email protected]>
Co-authored by: Jacob Killelea <[email protected]>
Co-authored by: Dylan Z. Baker <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CCB:Approved Indicates code approval by CCB enhancement New feature or request Equuleus-rc2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GetElfHeader - cyclomatic complexity of 36
2 participants