Yep, and the code is an eyesore to look at. Almost no logical separation of code blocks (everything mashed-up together) I was really expecting LLM to annotate every line of code with (useless) comments, considering many vibecoded js projects are like that.
Either my C skills are getting rusty and that is how a C codebase normally looks like, or LLM was trained on some suspicious codebases.
No you're right, this code is terrible. Running a linter like clang-tidy would surface many issues. Not sure why the LLM didn't think of ever doing that.
I checked a few source files at random and it looked fine to me overall. It's broken down into small-to-medium sized functions, contrary to what you suggest. If your issue is just the size of the individual source files, then you can find much larger in non-vibe-coded C projects like QuickJS.