Common-Sense C: Advice and Warnings for C and C++ Programmers