get_next_line
C project · file I/O, memory
Reads a file descriptor one line at a time with careful dynamic memory handling.
- 100/100grade
The problem
Return one line at a time from a file descriptor, whatever the buffer size.
What I built
- A static leftover buffer carried between calls.
- Works from BUFFER_SIZE=1 to 9999, on files and standard input; the bonus handles several file descriptors at once.
The hard part
Memory: never leaking the leftover buffer on errors or at end of file, with only one static variable allowed.
Built with
- C
- read(2)
- valgrind
More projects
- metro · Lisbon metro sim in pixel art: watch the four lines run, step into any station, board a train and ride it.
- call_me_maybe · Turns a sentence into a JSON function call with a 0.6B model using constrained decoding — parseable by construction, not by luck.
- codexion · Multithreaded twist on the Dining Philosophers: coders compete for shared dongles, with FIFO/EDF scheduling.
- fly-in · Drone fleet routing: Dijkstra pathfinding, turn-based scheduling and a pygame replay.
- a-maze-ing · Maze generator with multiple algorithms, pathfinding solvers and terminal visualization.
- push_swap · Highly optimized sorting with two stacks and a tiny set of allowed operations.
- ft_printf · printf rebuilt from scratch: chars, strings, pointers, decimals, unsigned and hex.
- Libft · My own C standard library — the foundation every later 42 project is built on.