Thread (5 messages) 5 messages, 2 authors, 2016-08-08

Linux Coding style template

From: Charls D. Chap <hidden>
Date: 2016-08-07 14:53:15

On Sun, Aug 7, 2016 at 7:39 AM, Greg KH [off-list ref] wrote:
On Sun, Aug 07, 2016 at 12:22:03AM +0300, Charls D. Chap wrote:
quoted
I want to transform some C source files. following Linux kernel coding style.
My questions are more generic, i am interesting in an automatic way for
identation! And also, i am interesting to what kernel developers will
do in the following cases,  so i am  forwarding again the email.


please take a look to this example
width is 90, what a kernel developer will do? spliti in two lines, or
leave it us it is,
cause i think it's more readable, in this way
qq->run = mmap(NULL, mmap_size, PROT_READ | PROT_WRITE, MAP_SHARED,
qq->vcpu, 0);


Also, have you find a way to tell indent not to indent, struct definitions?
In .h, when you have a huge structure definition, it's more readable,
to have it's struct friend one below the other, aligned!
struct kvm_mem_bank {
          struct list_head           list;
         u64                              guest_phys_addr;
         void                              *host_addr;
        u64                               size;
};

This also counts for variables initiliazation
int x = 0
char  *dog         = animal->dog->name;
char  *cat          = animal->cat->name;
char * elephant = animal->elephant->name;

Any ideas?



- Does script/Lindent STRICTLY follows all linux kernel coding style rules?
- What scripts/templates do you use/suggest for elegant code style
with the fact that
  we are talking about Linux Kernel Coding?


The GNU guys suggest indent with the following parameters:
-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4
-cli0 -d0 -di1 -nfc1 -i8 -ip0 -l80 -lp -npcs -nprs -npsl -sai
-saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8 -il1

On the other hand:
Linux/script/Lindent contains:
-npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1

Differences so far:
1)
indent with gnu parameters inserts a space on labels eg.
 err: vs
err:

2)
indent with gnu parameters inserts 26 spaces
#endif                                                          /*
something like this                 */


So probably gnu site is outdated?


Also, I have noticed  that they both fail theyto leave the empty line
of a label empty
For example, err: code
to
err:
       code

What does the coding style suggests in this case?

Have you found, other cases such the above?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help