dect
/
asterisk
Archived
13
0
Fork 0

add a minor allocation/zeroing guideline

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5817 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
kpfleming 2005-06-02 19:17:04 +00:00
parent 0bdd91b5ad
commit 6e17dfcd50
1 changed files with 22 additions and 0 deletions

View File

@ -192,6 +192,28 @@ output buffer will be null-terminated. Use ast_copy_string instead, which
is also slightly more efficient (and allows passing the actual buffer
size, which makes the code clearer).
When allocating/zeroing memory for a structure, try to 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
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.
== CLI Commands ==
New CLI commands should be named using the module's name, followed by a verb