📝 Documentation Overhaul:
- 🚚 Function docs have been migrated from implementation files (.c) to their header files (.h) across the following modules:
- char
- convert
- list
- memory
- All documentation is now in Doxygen-style comments, making headers self-documented and turning the API into an easier-to-navigate codex.
##
🛠️ Build System Tweaks:
- 🔗 Added str/ft_strncpy.c to the SRC list in the Makefile, ensuring it’s properly compiled and linked into the arsenal.
##
⚡ Impact
- Clearer and more maintainable API documentation.
- Stronger build consistency with all sources included.
- A polished codebase with up-to-date metadata.
🛡️ Robustness Buffs (Conversion Functions)
• 🧩 ft_atoi and ft_atoll gained a safety shield: they now return 0 when passed a null pointer, preventing accidental crashes.
• This change improves stability across the board, ensuring safer handling of unexpected input.
🧪 Test Suite Expansions
New & Expanded Conversion Trials
• 📝 Added extensive test coverage for ft_atoi, ft_atoll, and ft_itoa, including edge cases and null pointer handling.
• These tests live in test/convert/ and ensure your conversion toolkit is battle-ready for any scenario.
Character Function Test Output Polish
• ✨ Updated all character test files (test_isalnum.c, test_isalpha.c, test_isascii.c, test_isprint.c, test_tolower.c, test_toupper.c) with better output formatting.
• Each result now ends with a newline → improved readability during long test runs.
🔨 Build & Test Process
• 🧹 The Makefile has been optimized:
• test target now depends on fclean + $(NAME) → always runs on a clean build.
• The test runner loop has been reformatted for cleaner output.
📦 Minor Updates
• 📅 File headers refreshed to reflect the latest modification dates, keeping the codebase neat and consistent.
⚡ Impact
• Stronger crash resistance for conversion functions.
• More comprehensive and reliable test suite.
• Cleaner, more professional build & test pipeline.
• Better dev experience thanks to polished test outputs.
🎯 Gameplay Fixes (a.k.a. Function Corrections)
• 🔧 ft_isascii has been rebalanced: now consistently returns 1 for values within the ASCII range (0–127), instead of leaking the raw character value.
• 🔧 ft_isprint has been patched: returns 1 only for printable characters (32–126), aligning with the standard library.
➡️ These fixes bring our character classification system fully in line with the C standard behavior. No more unfair RNG in return values!
⸻
🆕 New Content (a.k.a. Fresh Test Files)
• 📜 test_isascii.c – Exhaustively tests ft_isascii vs isascii across values 0–128.
• 📜 test_isprint.c – Pits ft_isprint against isprint across the same range.
• 📜 test_tolower.c – Validates ft_tolower against tolower.
• 📜 test_toupper.c – Validates ft_toupper against toupper.
⸻
⚡ Impact
• Consistent, predictable behavior for all classification and transformation functions.
• A stronger, more reliable unit test suite to guard against future regressions.
• Confidence boost for upcoming boss fights (👀 the rest of libft).
- The C default Compiler is now defined if not defined
- Added the preprocessor rules with the includes rules
- Now the rules CC is use and not hardcoded