Commit graph

54 commits

Author SHA1 Message Date
Raphael
7d9716109c
core(make/tmux): Adding tmux rules
Some checks failed
C/C++ CI / build (push) Successful in 3s
/ norminette (push) Failing after 2s
- Using tmux for developpement propose
2025-09-27 00:06:32 +02:00
Raphael
450944a7ca
docs(intenal/flag_x_maj): adding the documentation of flag_x_maj 2025-09-19 17:29:43 +02:00
Raphael
c982c3615c
docs(intenal/flag_x): adding the documentation of flag_x 2025-09-19 17:29:33 +02:00
Raphael
30ecc3204f
docs(intenal/flag_u): adding the documentation of flag_u 2025-09-19 17:29:25 +02:00
Raphael
0385f63d38
docs(intenal/flag_s): adding the documentation of flag_s 2025-09-19 17:29:18 +02:00
Raphael
f818b0764a
docs(intenal/flag_percent): adding the documentation of flag_percent 2025-09-19 17:29:00 +02:00
Raphael
d155c9f981
docs(intenal/flag_p): adding the documentation of flag_p 2025-09-19 17:28:41 +02:00
Raphael
ca7639db51
docs(intenal/flag_i): adding the documentation of flag_i 2025-09-19 17:28:25 +02:00
Raphael
277895cf96
docs(intenal/flag_c): adding the documentation of flag_c 2025-09-19 17:28:15 +02:00
Raphael
32e97bb2da
docs(intenal/itoa_base): adding the documentation of itoa_base 2025-09-19 17:28:02 +02:00
Raphael
b9c6df259a
docs(intenal/strlen): adding the documentation of strlen 2025-09-19 17:27:45 +02:00
Raphael
a1f18a6f97
feat: adding internal header
- Adding the internal header allow to don't get all the function needed
by printf in the main header
2025-09-19 17:27:19 +02:00
Raphael
237eb5b820
docs: adding function to external function
- dprintf / printf / vdprintf now have doxygen
2025-09-19 17:19:32 +02:00
Raphaël
3ad528e353
ft_printf — Patch Notes (v2.0)
##  New Features
- **Custom `ft_printf`**: Complete implementation with variadic handling and standard format specifiers.
- **Output Modules**:
  - `print_char.c` — single char writes
  - `print_number.c` — signed/unsigned, hex, pointer handling
  - `utils.c` — `itoa_base`, `ft_strlen`, and helpers
- **Public Header**: `includes/ft_printf.h` exposes prototypes and shared types.

---

## ⚙️ Build & Tooling Upgrades
- **Modernized `Makefile`**
  - Clean variable management, per-dir object builds, colored logs
  - Handy targets for dev/clean/rebuild and `.clangd` support
- **Reproducible Dev Env**: `flake.nix` adds Nix flake support (clang, norminette, formatter, etc.) for one-command onboarding. 🧊

---

## 🤖 Continuous Integration
- **GitHub Actions**:
  - `c-cpp.yml` — builds on push/PR
  - `norminette.yml` — style checks to keep 42-compliant
- Automatic gates so broken builds and non-conforming code don’t land. 🧪

---

## 🧹 Cleanup & Refactors
- **Redundant libft bits removed** (now provided internally by `ft_printf` utils):
  - `ft_strdup.c`, `ft_strlcpy.c`, `ft_strlen.c`
- **README refresh**: trimmed outdated content; clearer scope and usage.

---

## 🧨 Breaking Changes
- Projects previously including `libft`’s removed functions must now rely on the local utils bundled with `ft_printf` (or provide their own).  
- Include path is now **`includes/`**; verify your compiler flags (`-Iincludes`).

---

## 🧰 Usage Quickstart
```c
#include "ft_printf.h"

int main(void) {
    int n = ft_printf("Hello %s, number: %d, hex: 0x%x, ptr: %p\n",
                      "world", 42, 42, (void*)&n);
    ft_printf("Printed %d bytes above.\n", n);
    return 0;
}
2025-09-19 17:03:16 +02:00
Raphael
3295958025
fix: editing the type of stdint
- u_int64_t is now only uint64_t
2025-09-19 16:54:40 +02:00
Raphael
facbd72540
fix(utils): editing the type of stdint
- u_int64_t is now only uint64_t
2025-09-19 16:53:08 +02:00
Raphael
a42240bc66
feat(utils): passing internal function in static
- BREAKING CHANGES:
  - ft_memset / nbrlen_base cannont be used anymore in other files
2025-09-19 16:50:50 +02:00
Raphael
d0ebc74b47
ci(make): adding the build action to my repository 2025-09-19 16:48:36 +02:00
Raphael
6cc7e2d8b4
ci(norminette): adding the norminette action to my repository
- Thanks to @Reach for this action
2025-09-19 16:48:17 +02:00
Raphael
75a218c47f
build(nix/shell): Adding a shell hook to flake
- Adding the CC environnment variable
- Printing the message to announce the end of init
2025-09-19 16:21:43 +02:00
Raphael
9c42c97214
feat(char): adding function for x / X / p / u / (i / d) 2025-09-19 16:13:10 +02:00
Raphael
aa04d9a16c
feat(char): adding function for c / s flags 2025-09-19 16:12:52 +02:00
Raphael
1b070bfda1
feat: pointer function now working 2025-09-19 16:12:08 +02:00
Raphael
d81193d698
feat: adding functions around printf
adding printf / dprint / vdprintf function
2025-09-19 16:11:38 +02:00
Raphael
6b031c344a
build(nix/pkgs): adding lldb pkgs for debug 2025-09-19 16:10:29 +02:00
Raphael
0d58f8cf64
feat: adding the t_func type
- t_func type is for pointer function propose
2025-09-19 16:09:44 +02:00
Raphael
6de09d44e7
feat: adding the start of the header 2025-09-19 16:09:00 +02:00
Raphael
0f0e1707c1
build(make): adding files to compile 2025-09-19 16:08:07 +02:00
Raphael
f92000241a
build: starting from my new Makefile template 2025-09-17 18:12:04 +02:00
Raphael
c4578adb89
core: starting from zero
wait from zero like nothing ? Oh no your first bra...
2025-09-17 18:11:03 +02:00
Raphael
72fe023c9f
core: starting from zero
wait from zero like nothing ? Oh no your first bra...
2025-09-17 18:09:17 +02:00
Raphael
51d05f5ba4
core(nix/flake): adding flake for developpement on nixos 2025-09-17 18:08:25 +02:00
Raphael
3da275fc74
core(ignore): adding ignore to the repository 2025-09-17 18:07:53 +02:00
Raphael
e37ee8bb1b style(subject): remove the subject 2025-05-05 16:16:31 +02:00
Raphaël
4284784e55
Removing banner 2024-05-12 19:11:01 +02:00
Raphaël
0a4754424e
Updating the makefile 2023-12-27 18:35:45 +01:00
Raphaël
99ea17c970
Delete src/ft_put.o 2023-12-23 17:38:40 +01:00
Raphaël
e4fa392135
Delete src/ft_printf.o 2023-12-23 17:38:32 +01:00
Raphaël
76792e1648
Delete libft/ft_strlen.o 2023-12-23 17:38:21 +01:00
Raphaël
33b53342d9
Delete libft/ft_strlcpy.o 2023-12-23 17:38:14 +01:00
Raphaël
6ef1a0ab8f
Delete libft/ft_strdup.o 2023-12-23 17:38:07 +01:00
Raphaël
729c41577e
Delete libftprintf.a 2023-12-23 17:37:50 +01:00
Raphaël
aae064f40b
Update the Makefile 2023-12-23 17:37:26 +01:00
Raphaël
353c59c2ae
Add files via upload 2023-12-14 18:18:31 +01:00
Raphaël
3b7d261780
updating makefile 2023-11-24 16:41:57 +01:00
Raphaël
5bd56e0726
Adding banner 2023-11-23 14:08:02 +01:00
Raphaël
01aa6f3258
Delete libft/ft_strlen.o 2023-11-18 15:22:41 +01:00
Raphaël
5dff81e852
Delete libft/ft_strlcpy.o 2023-11-18 15:22:35 +01:00
Raphaël
cb7886a4c4
Delete libft/ft_strdup.o 2023-11-18 15:22:27 +01:00
Raphaël
0c4829e505
Delete src/ft_put.o 2023-11-18 15:22:08 +01:00