add guideline comment about not using '%i' with scanf
[asterisk/asterisk.git] / doc / CODING-GUIDELINES
index 175fb53..b9fcfba 100755 (executable)
@@ -24,6 +24,10 @@ Try to match the existing formatting of the file you are working on.
 Functions and variables that are not intended to be global must be
 declared static.
 
+When reading integer numeric input with scanf (or variants), do _NOT_ use '%i'
+unless specifically want to allow non-base-10 input; '%d' is always a better
+choice, since it will not silently turn numbers with leading zeros into base-8.
+
 Roughly, Asterisk coding guidelines are generally equivalent to the 
 following:
 
@@ -78,7 +82,6 @@ for (x=0;x<5;x++) {
 }
 
 
-
 Make sure you never use an uninitialized variable.  The compiler will 
 usually warn you if you do so.
 
@@ -154,3 +157,14 @@ if (name && (len = strlen(name) + strlen(prefix) + strlen(postfix) + 3) && (newn
 
 Use const on pointers which your function will not be modifying, as this 
 allows the compiler to make certain optimizations.
+
+== CLI Commands ==
+
+New CLI commands should be named using the module's name, followed by a verb
+and then any parameters that the command needs. For example:
+
+*CLI> iax2 show peer <peername>
+
+not
+
+*CLI> show iax2 peer <peername>