I used astyle to format my C/C++ source codes, after many tries, it almost satisfied my need except that it added extra indent after the clause extern "c" {
.
I find that astyle has this feature here, it says "The C/C++ keyword 'extern' no longer causes an extra indent.", but do not find the option in its documentation.
I am using astyle 2.02.
this issue was fixed some time ago, check out this bug link of AStyle:
http://sourceforge.net/tracker/?func=detail&aid=3467479&group_id=2319&atid=102319