patternsresult-type
Result Type Pattern (C-Specific) pattern for C development
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Result Type Pattern (C-Specific)
Return struct containing success/failure status plus value or error. Explicit error handling without exceptions. Caller must check result.
ikigai Application
Core type: res_t used throughout:
res_t result = ik_cfg_load(ctx, path, &cfg);
if (!result.ok) {
// Handle error, result.error contains message
}
Macros:
-
OK(value)- Construct success result -
ERR(msg)- Construct error result -
TRY(expr)- Propagate error if failed -
CHECK(cond, msg)- Return error if condition false
Benefits:
- Errors can't be ignored (must check
.ok) - Error context propagates up call stack
- No hidden control flow (unlike exceptions)
See: project/error_handling.md for patterns.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!