Skip to content

fix: use explicit void parameter lists for no-argument C functions - #220

Merged
Morcules merged 1 commit into
Morcules:mainfrom
r4venrudy:fix/void-parameter-lists
Oct 11, 2026
Merged

Morcules merged 1 commit into
Morcules:mainfrom
r4venrudy:fix/void-parameter-lists

Conversation

@r4venrudy

Copy link
Copy Markdown
Contributor

Closes #218. Replace all 19 empty no-argument parameter lists in the C source and tests with (void), including both public lifecycle declarations and their definitions, internal helpers, and test entry points. Call sites and function bodies are unchanged. This gives pre-C23 C consumers actual zero-argument prototypes instead of unspecified parameter lists.

Validation performed locally with Clang/LLVM-MinGW:

  • Extracted the two public declarations verbatim from the original and changed headers. With -std=c17 -Wstrict-prototypes -Werror -fsyntax-only, the original declarations fail and the changed declarations plus valid no-argument calls pass.
  • Both deliberate one-argument calls to the changed declarations are rejected as “too many arguments”.
  • Confirmed the diff is limited to the 19 parameter lists; git diff --check passes.

The full library and network integration suite were not run on this Windows host: the project targets macOS/Linux, and the existing workflow uses a self-hosted macOS ARM64 runner. This is a draft per CONTRIBUTING.md, pending that build/integration validation. No claim of C17 compatibility for the rest of the C23 code is intended.

AI-assisted change; reviewed and checked as described above.

Update the lifecycle API, internal helpers and test entry points consistently.
Keep call sites unchanged so pre-C23 consumers receive proper prototypes.

Refs Morcules#218
@Morcules
Morcules marked this pull request as ready for review October 11, 2026 12:47
@Morcules
Morcules merged commit f125425 into Morcules:main Oct 11, 2026
1 check 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.

Make functions with no args use (void) instead of ()

2 participants