c89-reference

List unavailable C99 features and libnix compatibility rules for AmigaOS C89 porting.

30|2|Updated Mar 20, 2026
One-click install
npx skills add https://github.com/bdgscotland/amiport --skill c89-reference
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: c89-reference
Source: https://github.com/bdgscotland/amiport/tree/main/.claude/skills/c89-reference
Command: npx skills add https://github.com/bdgscotland/amiport --skill c89-reference

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ANSI C89 constraints and portability pitfalls for AmigaOS porting. It helps developers avoid C99-only features and map Amiga-specific types and libnix limitations to a compliant codebase.

Core Features & Use Cases

  • Identify widely-used C99/C11 features not available under ANSI C89 and provide practical AmigaOS-compatible alternatives.
  • Explain Amiga-specific type rules and libnix runtime caveats to streamline porting decisions and reduce runtime errors.
  • Provide guidelines for choosing between libnix and clib2 toolchains during porting.

Quick Start

Review a C project and convert C99 patterns to C89-compatible constructs for AmigaOS porting.

Frequently Asked Questions about c89-reference

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What C99 features are unavailable when porting C code to AmigaOS under ANSI C89?

When porting to AmigaOS under ANSI C89, widely-used C99 features like variable-length arrays and designated initializers are unavailable. This reference identifies these C99/C11 patterns and provides AmigaOS-compatible C89 alternatives to ensure portability.

How do I choose between libnix and clib2 for an AmigaOS porting project?

Choosing between libnix and clib2 for AmigaOS porting depends on your runtime requirements. This reference provides guidelines explaining libnix runtime caveats and clib2 toolchain characteristics to help you streamline porting decisions and reduce runtime errors.

How do I convert C99 patterns to C89-compatible code for AmigaOS?

To convert C99 patterns to C89-compatible code for AmigaOS, review your C project and replace C99-only constructs with ANSI C89 alternatives. This reference outlines Amiga-specific type conventions and libnix limitations to align legacy code correctly.

Does libnix support all standard C library functions for AmigaOS development?

No, libnix does not support all standard C library functions for AmigaOS development. This reference details libnix availability notes and runtime caveats, helping developers map Amiga-specific types and avoid unsupported C99 features during porting.

Why does my legacy C code fail AmigaOS C89 compliance checks?

Legacy C code fails AmigaOS C89 compliance checks when it relies on C99-only features unavailable in the target toolchain. This reference clarifies ANSI C89 constraints, listing unavailable C99 features and libnix compatibility rules to fix portability pitfalls.

What are the Amiga-specific type conventions I need to follow for C89 porting?

For C89 porting, Amiga-specific type conventions dictate how data types map to the AmigaOS runtime environment. This reference explains these type rules alongside libnix limitations, ensuring your legacy C code aligns with AmigaOS header availability and runtime behavior.