CCAN - Comprehensive C Archive Network
ccodearchive.net
ccodearchive.net
(A working "CCAN testers" would be wonderful for C code. People would want to upload stuff just to get compilation/test errors on different O/S versions, with small-/big-endian architectures, etc, etc.)
Edit: Grammar.
Perhaps the site isn't clear, but this all exists.
1) All CCAN modules compile with by providing a config.h and compiling * .c (if any). Metadata (eg. linking requirements, other modules) is in the _info file.
2) These are not libraries, though they can be compiled like that of course. So install is outside scope.
3) Testing is done in the modules' test subdir. compile-ok* .c and compile-fail* .c tests are what you'd expect. run* .c are compile-standalone-and-execute-with-0 status tests. api* .c are compile-with-module-and-execute tests.
4) The documentation standard is in the form of parseable but human-readable comments in the header files and _info.
The ccanlint tool will do most of this for you.
I hope that helps clarify.
Would be awesome to merge this with: https://github.com/clibs/clib
And that's a simple idea, done well (and helps me hit the usually untested code paths).
If I had to still work a lot with C (I mostly write bits wrapped in JNI/Python/PHP exts), I would say that the hashtable, list and INI parser would be bits I would never want to reinvent again.
Making it more generic, so you can plug in your own failing functions, is somewhere on my TODO list. That would make this much nicer.
I feel a bit like the kid who only likes the vidja-games with the fanciest, flashiest graphics but I basically won't tolerate anything less than modern style and typography anymore.
I'd be delighted to receive patches from someone who had better taste than I! It's all statically generated via PHP (again, not my choice, but it works).
https://github.com/rustyrussell/ccan/tree/master/web
Thanks for the feedback!