1
0
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:
Volker Lendecke 2015-01-19 10:48:20 +01:00
parent 8466587c58
commit 8536022a51

View File

@ -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
----------------------------