mirror of
https://github.com/openvswitch/ovs
synced 2025-09-02 15:25:22 +00:00
CodingStyle: Mention our assumption about conversions to bool
Signed-off-by: YAMAMOTO Takashi <yamamoto@valinux.co.jp> Acked-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -541,6 +541,11 @@ C DIALECT
|
|||||||
* bool and <stdbool.h>, but don't assume that bool or _Bool can
|
* bool and <stdbool.h>, but don't assume that bool or _Bool can
|
||||||
only take on the values 0 or 1, because this behavior can't be
|
only take on the values 0 or 1, because this behavior can't be
|
||||||
simulated on C89 compilers.
|
simulated on C89 compilers.
|
||||||
|
Also, don't assume that a conversion to bool or _Bool follows
|
||||||
|
C99 semantics. I.e. use "(bool)(some_value != 0)" rather than
|
||||||
|
"(bool)some_value". The latter might produce unexpected results
|
||||||
|
on non-C99 environments. For example, if bool is implemented as
|
||||||
|
a typedef of char and some_value = 0x10000000.
|
||||||
|
|
||||||
* Designated initializers (e.g. "struct foo foo = {.a = 1};" and
|
* Designated initializers (e.g. "struct foo foo = {.a = 1};" and
|
||||||
"int a[] = {[2] = 5};").
|
"int a[] = {[2] = 5};").
|
||||||
|
Reference in New Issue
Block a user