Fun article and project. I enjoyed reading and playing around with it.
My first run of `make release` failed with this error.
cc -std=c11 -Wall -Wextra -Werror -pedantic -O3 -DNDEBUG -c -o build/main.o src/main.c
src/main.c: In function ‘main’:
src/main.c:23:3: error: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Werror=unused-result]
23 | fread(file, file_size, 1, fp);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
It might have something to do with my local setup. It was simple enough to solve, to check the return value and exit with error code.