Linux Coding style template
Charls D. Chap
chapcharls at gmail.com
Sun Aug 7 10:53:15 EDT 2016
On Sun, Aug 7, 2016 at 7:39 AM, Greg KH <greg at kroah.com> wrote:
> On Sun, Aug 07, 2016 at 12:22:03AM +0300, Charls D. Chap wrote:
>> 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?
More information about the Kernelnewbies
mailing list