mirror of
https://github.com/samba-team/samba.git
synced 2025-01-21 18:04:06 +03:00
README.Coding: Add hint for if-statments
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Mon Jan 19 13:25:12 CET 2015 on sn-devel-104
This commit is contained in:
parent
8466587c58
commit
8536022a51
@ -298,25 +298,6 @@ Good Examples:
|
||||
}
|
||||
|
||||
|
||||
Checking Pointer Values
|
||||
-----------------------
|
||||
|
||||
When invoking functions that return pointer values, either of the following
|
||||
are acceptable. Use your best judgement and choose the more readable option.
|
||||
Remember that many other persons will review it:
|
||||
|
||||
if ((x = malloc(sizeof(short)*10)) == NULL ) {
|
||||
fprintf(stderr, "Unable to alloc memory!\n");
|
||||
}
|
||||
|
||||
or:
|
||||
|
||||
x = malloc(sizeof(short)*10);
|
||||
if (!x) {
|
||||
fprintf(stderr, "Unable to alloc memory!\n");
|
||||
}
|
||||
|
||||
|
||||
Primitive Data Types
|
||||
--------------------
|
||||
|
||||
@ -364,6 +345,33 @@ Bad Example:
|
||||
ret = some_function_my_name(get_some_name());
|
||||
...
|
||||
|
||||
Please try to avoid passing function return values to if- or
|
||||
while-conditions. The reason for this is better handling of code under a
|
||||
debugger.
|
||||
|
||||
Good example:
|
||||
|
||||
x = malloc(sizeof(short)*10);
|
||||
if (!x) {
|
||||
fprintf(stderr, "Unable to alloc memory!\n");
|
||||
}
|
||||
|
||||
Bad example:
|
||||
|
||||
if ((x = malloc(sizeof(short)*10)) == NULL ) {
|
||||
fprintf(stderr, "Unable to alloc memory!\n");
|
||||
}
|
||||
|
||||
There are exceptions to this rule. One example is walking a data structure in
|
||||
an iterator style:
|
||||
|
||||
while ((opt = poptGetNextOpt(pc)) != -1) {
|
||||
... do something with opt ...
|
||||
}
|
||||
|
||||
But in general, please try to avoid this pattern.
|
||||
|
||||
|
||||
Control-Flow changing macros
|
||||
----------------------------
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user