[asterisk-commits] branch russell/ast_malloc - r7632 /team/russell/ast_malloc/doc/CODING-GUIDELINES

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Sun Dec 25 20:30:21 CST 2005


Author: russell
Date: Sun Dec 25 20:30:19 2005
New Revision: 7632

URL: http://svn.digium.com/view/asterisk?rev=7632&view=rev
Log:
update coding guidelines

Modified:
    team/russell/ast_malloc/doc/CODING-GUIDELINES

Modified: team/russell/ast_malloc/doc/CODING-GUIDELINES
URL: http://svn.digium.com/view/asterisk/team/russell/ast_malloc/doc/CODING-GUIDELINES?rev=7632&r1=7631&r2=7632&view=diff
==============================================================================
--- team/russell/ast_malloc/doc/CODING-GUIDELINES (original)
+++ team/russell/ast_malloc/doc/CODING-GUIDELINES Sun Dec 25 20:30:19 2005
@@ -349,27 +349,24 @@
 arrangements and produce unexpected behavior.
 
 -Allocations for structures
-When allocating/zeroing memory for a structure, try to use code like this:
+When allocating/zeroing memory for a structure, use code like this:
 
 struct foo *tmp;
 
 ...
 
-tmp = malloc(sizeof(*tmp));
-if (tmp)
-	memset(tmp, 0, sizeof(*tmp));
-
-This eliminates duplication of the 'struct foo' identifier, which makes the
+tmp = ast_calloc(1, sizeof(*tmp));
+
+This will allocate and zero the memory in a single operation. 
+
+Avoid the combination of ast_malloc() and memset().  Instead, always use
+ast_calloc().  In the case that uninitialized memory is acceptable, there should
+be a comment in the code that states why this is the case.
+
+This also eliminates duplication of the 'struct foo' identifier, which makes the
 code easier to read and also ensures that if it is copy-and-pasted it won't
-require as much editing. In fact, you can even use:
-
-struct foo *tmp;
-
-...
-
-tmp = calloc(1, sizeof(*tmp));
-
-This will allocate and zero the memory in a single operation.
+require as much editing.
+
 
 * CLI Commands
 --------------



More information about the asterisk-commits mailing list