I've recently been doing a lot of systems programming and low-level stuff. I'm hacking away on MIT's xv6 kernel for my OS course. I want to improve my C skills, and want to learn the limits of what can be done with C, the preprocessor etc. I'd be really grateful if some one could direct me to resources that would help me out in this regard.
I want to basically learn how to write robust, readable and production-quality C which doesn't crash to a segfault.
Also, is there a oft-used style guide for writing error-handling code in C?
Thank you.