GNU Indent

From ReactOS Wiki
Jump to: navigation, search

GNU Indent is a tool from the GNU Project. It can fix and unify the formating in C file. You can get a Windows Version from here. And a online version of the man page can be found here.

Here the best option I found so far

 indent -o foo.c -gnu -bli0 -hnl -nut -i4 -l130 foo.c

If you got a better/different version please write it down here.

Aleksey

I took time to further research the indenting options and came up with the following (%1 – input file name, %2 – output file name):

 indent -o %2 -gnu -bli0 -hnl -nut -i4 -l110 -bls -ncs -npcs -nprs -nsaf -nsob -lp -cli4 -cbi0 %1

This indenting works almost perfectly, however it still has a few problems:

1)

 do
 {
     something;
 }
 while();

While should be on the same line as the "}". (hint: experiment with do-while cuddling option, maybe it's the right thing)

2) Labels indenting by 2 spaces, so it looks like this:

 a = b + 3;
 ...
   MY_LABEL:
 free(something);
 return;

3) Function declarations look a bit wrong:

 NTSTATUS
     NTSYSAPI
 NtMakeSystemStable()
 { ...

If you investigate this further – please add possible solution/options below.

adding -cdw -il0 -npsl fix the problems Tonix