Parece que é sizeof()
que confundiu indent
. Portanto, eu tenho uma solução alternativa: primeiro, altere todas as ocorrências de sizeof
com SIZEOF
(por exemplo, usando sed
), invoque indent
e altere SIZEOF
de volta para sizeof
.
$ cat foo.c
void foo() {
struct_a arr[] = {
{&a, sizeof (a), 1},
{&b, sizeof (b), 1},
{&c, sizeof (c), 1},
{&d, sizeof (d), 1},
};
}
$ indent -st foo.c
void
foo ()
{
struct_a arr[] = {
{&a, sizeof (a), 1}
,
{&b, sizeof (b), 1}
,
{&c, sizeof (c), 1}
,
{&d, sizeof (d), 1}
,
};
}
$ sed s/sizeof/SIZEOF/g foo.c | indent -st | sed s/SIZEOF/sizeof/g
void
foo ()
{
struct_a arr[] = {
{&a, sizeof (a), 1},
{&b, sizeof (b), 1},
{&c, sizeof (c), 1},
{&d, sizeof (d), 1},
};
}
$