summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/STYLE.TXT
blob: 384bcec3d9094d05af536369e5861b88f94078c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

Over time, I am moving all of the IPFilter code to what I consider a better
coding style than it had before.  If you submit patches, I expect them to
conform as appropriate.

Function Comments
=================
Preceeding each and every function, a comment block like this should
be present:

/* ------------------------------------------------------------------------ */
/* Function:    function-name                                               */
/* Returns:     return-type                                                 */
/* Parameters:  param1(I) - param1 is an input parameter                    */
/*              p2(O)     - p2 is an output parameter passed as an arg      */
/*              par3(IO)  - par3 is a parameter which is both input and     */
/*                          output.  Pointers to things which are used and  */
/*                          then get a result stored in them qualify here.  */
/*                                                                          */
/* Description about what the function does.  This comment should explain   */
/* any gotchas or algorithms that are used which aren't obvious to the      */
/* casual reader.  It should not be an excuse to not use comments inside    */
/* the function.                                                            */
/* ------------------------------------------------------------------------ */


Tab spacing
===========
Tabs are to be at 8 characters.


Conditions
==========
All expressions which evaluate to a boolean for a test condition, such as
in an if()/while() statement must involve a boolean operation.  Since C
has no native boolean type, this means that one of <,>,<=,>=,==,!= must
be present.  Implied boolean evaluations are out.

In code, the following is banned:

if (x)
if (!x)
while ((a = b))

and should be replaced by:

if (x != 0)
if (x == 0)
while ((a = b) != 0)

If pointers are involved, always compare with NULL, ie.:

if (x != NULL)
if (x == NULL)
while ((a = b) != NULL)


OpenPOWER on IntegriCloud