Как не допустить, чтобы отступ GNU нарушил присваивание инициализации, например "= { 0 };"
Смотрите следующий пример.
$ indent --version
GNU indent 2.2.10
$ cat foo.c
void foo()
{
struct {
int a;
int b;
} v = { 0 };
}
$ indent -st foo.c
void
foo ()
{
struct
{
int a;
int b;
} v =
{
0};
}
$
Я не хочу = { 0 };
быть отформатированным в
=
{
0};
1 ответ
Решение
Это также относится и к 2.2.11. Из-за анализа кода кажется, что это ошибка с инициализаторами блоков, которые не были правильно обнаружены. В этом случае отступ заставляет перевод строки после '{'. Последние несколько дней я пытался разобраться с этим и исправил эту ошибку в своей рабочей копии, чтобы ваш файл был отформатирован так:
$ src/indent -npro -st foo.c
void
foo ()
{
struct
{
int a;
int b;
} v = { 0 };
}
Не стесняйтесь проверить мою рабочую копию и попробовать. В противном случае вам, вероятно, придется подождать, пока это не будет исправлено.