X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=blobdiff_plain;f=CodingStyle;h=bae8cd65ced7caf87a5bfe21a734fea8f1dc3853;hp=2f24ee396f057ded30413ad71e80e46797d10be9;hb=HEAD;hpb=bdd2719efb7483ea237698d8ca7c1459da01f368 diff --git a/CodingStyle b/CodingStyle index 2f24ee396..bae8cd65c 100644 --- a/CodingStyle +++ b/CodingStyle @@ -224,7 +224,7 @@ statement, that is, write "return 0;" and not "return(0);" break; default: - NOT_REACHED(); + OVS_NOT_REACHED(); } "switch" statements with very short, uniform cases may use an @@ -394,7 +394,21 @@ from . integer types. Use the PRId, PRIu, and PRIx macros from for formatting them with printf() and related functions. - Use %zu to format size_t with printf(). + For compatibility with antique printf() implementations: + + - Instead of "%zu", use "%"PRIuSIZE. + + - Instead of "%td", use "%"PRIdPTR. + + - Instead of "%ju", use "%"PRIuMAX. + +Other variants exist for different radixes. For example, use +"%"PRIxSIZE instead of "%zx" or "%x" instead of "%hhx". + + Also, instead of "%hhd", use "%d". Be cautious substituting "%u", +"%x", and "%o" for the corresponding versions with "hh": cast the +argument to unsigned char if necessary, because printf("%hhu", -1) +prints 255 but printf("%u", -1) prints 4294967295. Use bit-fields sparingly. Do not use bit-fields for layout of network protocol fields or in other circumstances where the exact @@ -501,8 +515,7 @@ global variables. C DIALECT - Some C99 features are OK because they are widely implemented even in -older compilers: + Some C99 features are OK because they are widely implemented: * Flexible array members (e.g. struct { int foo[]; }). @@ -517,12 +530,12 @@ older compilers: only take on the values 0 or 1, because this behavior can't be simulated on C89 compilers. + * Designated initializers (e.g. "struct foo foo = {.a = 1};" and + "int a[] = {[2] = 5};"). + Don't use other C99 features that are not widely implemented in older compilers: - * Don't use designated initializers (e.g. don't write "struct foo - foo = {.a = 1};" or "int a[] = {[2] = 5};"). - * Don't mix declarations and code within a block. * Don't use declarations in iteration statements (e.g. don't write