From f44d9a0d506b636d924cd1548a5679f7d340038b Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Tue, 1 Jul 2025 11:00:00 +0200 Subject: [PATCH] Create README.md --- exercises/README.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 exercises/README.md 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*