LINUX.ORG.RU

Проблема с indent


0

0

Есть тестовая программка, на которой видна проблема
#define N 100
int main()
{
static int arr[N] = {1, [1 ... (N - 1)] = 0};
}

Выполняю команду:
indent -bad -bap -cdb -bl -cli2 -nbc -bls -ppi 3 -lps test.c -o test2.c

Получаю результат:
#define N 100
int
main ()
{
  static int arr[N] = { 1,[1...(N - 1)] = 0 };
}

Компилирую
krivenok-home test # gcc test2.c
test2.c:5:28: too many decimal points in number
test2.c: In function `main':
test2.c:5: error: nonconstant array index in initializer
test2.c:5: error: (near initialization for `arr')

indent испортил программу, т.к. не сохранил пробелы вокруг троеточия!
Как заставить его их сохранять?

P.S.
Куча опций, которых я передаю, не влияют на проблему, т.к. 
аналогичное поведение и при запуске его без параметров :(

Прошу прощения, что не по теме, но не поведаешь ли ты о смысле этого троеточия и о степени его стандартности?

anonymous
()
Ответ на: комментарий от anonymous

Это лучше спросить у разработчиков ядра (точнее разработчиков ALSA).
Я лишь пишу свой драйвер на основе их dummy.c, в котором подобный код
повсюду.

Смысл очевиден - задание диапазона при инициализации.

Krivenok_Dmitry
() автор топика
Ответ на: комментарий от Krivenok_Dmitry

Я боюсь, что разработчики ALSA находятся по ту сторону баррикады, где знают про троеточие, а разработчик indent, ты, я и стандарт ANSI по другую ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.