Skip to content
Snippets Groups Projects
Commit 5c33b52c authored by Kevin P. Fleming's avatar Kevin P. Fleming
Browse files

add a minor allocation/zeroing guideline

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent 9f3372e3
Branches
Tags
No related merge requests found
...@@ -192,6 +192,28 @@ output buffer will be null-terminated. Use ast_copy_string instead, which ...@@ -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 is also slightly more efficient (and allows passing the actual buffer
size, which makes the code clearer). 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 == == CLI Commands ==
New CLI commands should be named using the module's name, followed by a verb New CLI commands should be named using the module's name, followed by a verb
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment