proto ft_printf() - kevshouse/The-Under_C_World GitHub Wiki
flowchart TD
A[Start ft_printf] --> B[Initialize va_list args]
B --> C[Start loop: *format != 0]
C --> D{Is *format == '%'?}
D -->|Yes| E[Increment format]
E --> F{Switch *format}
F -->|Case 'c'| G[Fetch char - int promoted]
G --> H[Call ft_putchar]
H --> I[Add to count]
F -->|Case 's'| J[Fetch char*]
J --> K[Call ft_putstr]
K --> I
F -->|Case 'd'| L["(Unimplemented: ft_putnbr)"]
F -->|Default| M[Write '%' + *format]
M --> I
D -->|No| N[Write *format]
N --> I
I --> O[Increment format]
O --> C
C -->|End of format| P[Call va_end with args]
P --> Q[Return count]
subgraph Helper Functions
H --> ft_putchar["Call ft_putchar with c"]
K --> ft_putstr["Call ft_putstr with str"]
ft_putchar --> R[Write to output: 1, &c, 1]
ft_putstr --> S[Loop: write each char]
end