~midori/midori/trunk

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
This file is licensed under the terms of the expat license, see the file EXPAT.

It is 4 spaces, no tabs, preferrably at 80 columns per line.

The preferred coding style is explained by example.

Source file example:

    /*
       Copyright
       LICENSE TEXT
    */

    #include "foo.h"

    #include "bar.h"

    #include <glib.h>

    void
    foobar (FooEnum bar, const gchar* foo)
    {
        gint n, i;

        if (!foo)
            return;

        #ifdef BAR_STRICT
        if (bar == FOO_N)
        {
            g_print ("illegal value for 'bar'.\n");
            return;
        }
        #endif

        /* this is an example */
        switch (bar)
        {
        case FOO_FOO:
            n = bar + 1;
            break;
        case FOO_BAR:
            n = bar + 10;
            break;
        default:
            n = 1;
        }

        for (i = 0; i < n; i++)
        {
            g_print ("%s\n", foo);
        }
    }

Header file example:

    /*
       Copyright
       LICENSE TEXT
    */

    #ifndef __FOO_H__
    #define __FOO_H__ 1

    #ifdef HAVE_BAR_H
        #define BAR_STRICT
    #endif

    /* Types */

    typedef enum
    {
        FOO_FOO,
        FOO_BAR,
        FOO_N
    } FooEnum;

    typedef struct
    {
        FooEnum foo_bar;
    } FooStruct;

    /* Declarations */

    void
    foo_bar           (FooEnum      bar,
                       const gchar* foo);

    const gchar*
    foo_foo           (FooStruct foo_struct,
                       guint     number,
                       gboolean  flag);

    #endif /* !__FOO_H__ */