diff --git a/exercises/README.md b/exercises/README.md new file mode 100644 index 0000000..65df212 --- /dev/null +++ b/exercises/README.md @@ -0,0 +1,44 @@ +# 🗂️ Exercise Index – Linux System Programming + +This is an organized list of all exercises completed so far, including a brief description and links to related resources or files. + +--- + +## 📁 mycp + +**Description**: A simple file copy utility implemented in C using low-level system calls (`open`, `read`, `write`, `close`). + +- 📄 [README](mycp/README.md) +- 📂 Directory: `mycp/` +- ✅ Features: + - Error handling via `perror` and `errno` + - Safe loop with `EINTR` handling + - Proper resource cleanup + - Integrated unit tests and Valgrind checks + +--- + +## 🌳 tree + +**Description**: A basic reimplementation of the Unix `tree` utility that recursively lists directories and files. + +- 📄 [README](tree/README.md) +- 📂 Directory: `tree/` +- ✅ Features: + - Recursive traversal using `opendir` and `readdir` + - Directory depth display + - Unit tests with mocks for directory structure + - Scripted test automation with Valgrind integration + +--- + +## 🔧 Tooling & Automation + +**Shared tools and scripts used across projects**: + +- `Makefile` with: + - Targets for `build`, `test`, `valgrind`, and `clean` +- Shell script for automated tests: `run_tests.sh` +- Valgrind memory check reports generated automatically + +*Last updated: 2025-06-30*