ofp-actions: Allow pop_mpls on MPLS packets
[cascardo/ovs.git] / CodingStyle
index 6ac0316..628f21f 100644 (file)
@@ -162,6 +162,11 @@ such a function (including the C standard library function free())
 should omit a null-pointer check.  We find that this usually makes
 code easier to read.
 
+Functions in .c files should not normally be marked "inline", because
+it does not usually help code generation and it does suppress
+compilers warnings about unused functions.  (Functions defined in .h
+usually should be marked inline.)
+
 
 FUNCTION PROTOTYPES
 
@@ -515,8 +520,7 @@ global variables.
 
 C DIALECT
 
-  Some C99 features are OK because they are widely implemented even in
-older compilers:
+  Most C99 features are OK because they are widely implemented:
 
     * Flexible array members (e.g. struct { int foo[]; }).
 
@@ -531,19 +535,18 @@ older compilers:
       only take on the values 0 or 1, because this behavior can't be
       simulated on C89 compilers.
 
-  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};").
+    * Designated initializers (e.g. "struct foo foo = {.a = 1};" and
+      "int a[] = {[2] = 5};").
 
-    * Don't mix declarations and code within a block.
+    * Mixing of declarations and code within a block.  Please use this
+      judiciously; keep declarations nicely grouped together in the
+      beginning of a block if possible.
 
-    * Don't use declarations in iteration statements (e.g. don't write
+    * Use of declarations in iteration statements (e.g.
       "for (int i = 0; i < 10; i++)").
 
-    * Don't put a trailing comma in an enum declaration (e.g. don't
-      write "enum { x = 1, };").
+    * Use of a trailing comma in an enum declaration (e.g.
+      "enum { x = 1, };").
 
   As a matter of style, avoid // comments.